我尝试使用OpenGL ES 2.0在Android上设计自己的游戏引擎。到目前为止,我有一个球体沿x轴移动,方程为x(t)= v *(t-t0)+ x0。假设球体的半径是r。我使用函数SystemClock.uptimeMillis()
来计算时间t
。Android OpenGL ES 2.0:翻译,碰撞和控制帧速率
有两个墙,在x = 1和x = -1。当球体接触到这两个墙壁之一时(即当球体与一个墙壁之间的距离小于r时),它会反弹回来。
我的计算是在我的渲染器的onDrawFrame()
方法中完成的。
因此,计算仅在渲染帧时完成。因此,“碰撞检查”的频率取决于应用程序的帧率。唉,有时候下一帧需要很长的时间才能渲染,而且翻译会将球体置于墙后面,就像某种量子粒子:)。
是否可以对我的应用程序的帧率进行某种控制?你知道一种避免我的球体轨迹中出现这种不连续性的方法吗?
非常感谢您的召开!
这正是我所做的。但问题在于墙壁是旋转的,有时由于旋转,旧的位置离开墙壁。 – WillGFR