我正在为Android编写游戏,并且我认为在我的体系结构和/或代码中存在致命缺陷。我如何在没有代码延迟的情况下将“手动动画”设计为Android游戏
该架构基本上是两个线程,一个只是连续绘制屏幕,另一个是基于用户的触摸屏输入控制屏幕上绘图的移动。
在后面的主题中,我基本上正在做手动动画(在此处插入正确的术语),这意味着我通过在游戏进行时更改Drawable Rect的方法在屏幕上移动drawable。我相信我在做的“不 - no”是在这些方法中插入延迟,以便它“看起来像一个实际的动画”。
这一切工作正常,很正常,因为我没有理由来处理这些动画过程中的任何用户输入,但它确实缠着我,我设计的一个缺陷融入了很多艰苦的工作与我的比赛。我相信你们中许多人可以在代码设计方面与此有关。
什么是设计这个“手动动画”的正确方法,所以我的代码仍然可以在动画发生时处理用户事件(如触摸屏幕)?
这里是我的方法之一的参考例子:
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();
}
}
}
哇,这是一口。我将在本周末阅读,谢谢! – user432209 2010-10-06 01:04:59