我正在制作我的第一个2d sidescroller游戏,使用surfaceview和画布来绘制内容(很多基元放在不同的路径对象中)。 我的游戏循环使用固定时间步长和线性插值。我不会在游戏中创建任何对象。我一直在改进我的代码3周,但我的动画仍然不是一直都很流畅。没关系,但是每隔几秒就会有大约1秒或2秒的小窍门。 我认识到的是当我移动我的播放器(这意味着触摸屏幕)时,只要我触摸屏幕并移动我的播放器,小小的就会消失。 这意味着只要调用surfaceview视图,动画就会很流畅。 我不明白这一点,我想要一个流畅的动画。有人能帮助我吗?
答案 0 :(得分:0)
这听起来像某些设备上的已知问题。参见例如:
问题在于,当系统没有检测到与用户的交互时,系统正在积极地降低时钟速度以节省电量。 (高通特别喜欢这个。)解决方法是在必要时丢帧。请参阅游戏循环中的this article,以及Grafika's"记录GL应用程序"中演示的基于编舞的技巧。活动(doFrame()
)。