我正在为Android编写游戏,我认为我的架构和/或代码存在致命缺陷.
该体系结构基本上是两个线程,一个是连续绘制屏幕,另一个是根据用户的触摸屏输入控制屏幕上绘图的移动.
在后一个帖子中,我基本上都在做手动动画(在这里插入正确的术语),这意味着我通过在游戏进行时改变Drawables Rect的方法在屏幕上移动drawables.我认为我正在做的“不 – 不”是在这些方法中插入延迟,因此它“看起来像一个真正的动画”.
这一切都很好,花花公子,因为我没有理由在这些动画中处理任何用户输入,但这真的让我感到烦恼,我正在设计一个与我的游戏很多艰苦工作的缺陷.我相信很多人都可以在代码设计方面与此相关.
设计这个“手动动画”的正确方法是什么,这样我的代码仍可以处理用户事件(比如触摸屏幕),同时动画正在发生?
以下是我的一个方法的参考示例:
public voID BadAnimation() { for (int k = 0; k < mAnimationHeight; k++) { for (int i = 0; i < mRows; i++) { for (int j = 0; j < mCols; j++) { if (myObject.mFlag[i][j]) { myObject[i][j].mRect.top++ } } } try { Thread.sleep(3); } catch (InterruptedException e) { // Todo auto-generated catch block e.printstacktrace(); } }}
解决方法:
这是一个很好的教程,将向您展示如何正确实现延迟:
http://www.droidnova.com/playing-with-graphics-in-android-part-i,147.html
它还介绍了如何在同时更改游戏状态和绘制到屏幕的同时接受用户输入.
总结以上是内存溢出为你收集整理的如何在没有代码延迟的情况下将“手动动画”设计到Android游戏中全部内容,希望文章能够帮你解决如何在没有代码延迟的情况下将“手动动画”设计到Android游戏中所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)