2013-04-22 36 views
1

我的应用程序就像LUDO游戏。我在android中开发它。 我想要的是,在每个掷骰子之后,我的棋子(玩家的棋子)必须在方框中一个一个地移动,然后在下一个框中进入,然后在下一个框中进入到下一个框中骰子...我不能在Android的每次睡眠呼叫后更新UI

我已经实现了这么多的策略,包括thred,TimerTask的,处理程序等。

但一个共同的事情发生的是,它只是等待什么都时候,我们还通过了每一步(这意味着如果玩家掷骰子并获得4,那么无论何时一步,例如0.5秒乘以4即2秒),并在该时间结束时更新UI。 这里我想要的是我想在每个时间间隔(前面括号中提到的0.5秒)之后更新用户界面,直到玩家一个接一个移动的最后一步或结束。

帮助我尽快...

+1

你这样做是错误的。 _Android_尽快为您更新UI,因为它很有意义。但是你在主/ UI线程上休眠,使Android无法工作。你需要简短地执行你的游戏逻辑'Handler' runnables /消息处理回调函数,或者为此提供一个并发的'Thread'。 – 2013-04-22 07:36:10

+0

我无法准确得出你的答案...你是否希望我使用[处理程序]而不是线程来更新UI ....我没有太多的android编程经验,所以请彻底解释我...谢谢你你的回复 – 2013-04-24 17:03:27

+0

你为什么不直接通过文件/培训工作?例如。 [用图形和动画构建应用程序](http://developer.android.com/training/building-graphics.html),虽然我觉得你应该从第一课开始。 – 2013-04-24 17:51:37

回答

0

我认为你正在使用的画布为您的游戏,它只是没有更新在每一步你的用户界面可能是2的理由。
1你需要增加单个像素的位置,假设一个盒子是48
像素然后只是增加像素48 + 48 + 48 + 48如果你有4 ....和 2. is call invalidate()在单个像素位置的每个增量中。

我希望这可以帮助你.. :-)

+1

其实我没有使用画布图像......我只是使用imageview来引用图像或玩家的作品......所以我无法在当前阶段在我的游戏中实现您的策略......感谢您的回复 – 2013-04-24 16:58:29