java - Android - 在圆圈中移动对象

标签 java android eclipse geometry

我遇到了一些麻烦, 我需要制作一个物体(乒乓 Racket ),使其仅沿屏幕以圆形路线移动。 同样的事情就好像你有一个恒定的 y 轴值,它只会在你将手指拖到它上面时沿着 x 轴移动,但是将它限制在一个圆形路线上。

有什么见解吗? 我看到了这个东西 http://www.kirupa.com/developer/mx/circular.htm

它只有助于弄清楚如何不断地在一个圆圈内移动某些东西(尽管它是 Flash,想法是一样的)

谢谢

最佳答案

圆上的点可以通过函数定义:

x = a + r cos(θ)
y = b + r sin(θ)

其中 (a,b) 是圆心。

根据您想要的速度,您可以说您希望每 T 秒完成一个完整的循环。如果 t 是动画开始后的时间:

θ = (360 / T) * (t % T)

您可以使用这些函数来创建自己的 ViewAnimation、OpenGL 函数,或者如果您使用的是 Canvas ,则可以在 onDraw() 事件期间设置桨的位置。

关于java - Android - 在圆圈中移动对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7708246/

相关文章:

java - 尽管有属性,为什么布局却以相反的方式放置?

android - 如何将应用程序/apk 转换为系统/用户应用程序,包括拆分 apk 应用程序

java - 不使用参数的 POST 方法

java - JSON/ jackson : Recursive polymorphic deserialization without type field

java - java中lateinit相对于null初始化的优势?

java - Eclipse/Ant 在 1.9 版本中制作一个 jar,即使一切似乎都为 1.8 设置

java - 如何在Eclipse中导入GAE java项目(使用maven)?

Eclipse更改 'view'边框颜色

java - 将 "day of the year"作为到期日期存储在数据库中,但如果年份发生变化,这将不起作用

堆栈或堆上的 Java 原始数据类型?