Android延迟/调度方法关注

发布于 2024-12-13 01:53:18 字数 291 浏览 3 评论 0原文

我正在为Android 2.1开发一款游戏

。我的游戏是一款纸牌游戏。所以,我想要的是,在我点击一张牌并将其扔出后,我希望 AI 在 2 秒后打出他的牌。因此,为此,我希望在输入 2 秒后调用我的实例方法之一。

我研究了一些,发现 Android 不支持 Timer 类。我已经使用了 Handler 类,但我没有提供我想要的。它通常可以工作,但有时(几乎一半的时间)它会失败并在我打完牌后立即开始应答。

所以,我想问得更普遍一些。在我的情况下,在 Android 中实现这种延迟的最佳方法是什么(不确定,但几乎完全)?

I am developing a game for Android 2.1

My game is a card playing game. So, what I want is that after I have clicked on one of my cards and I throw it, I want the AI to play his card after 2 seconds. So, to do this I want one of my instance methods to be invoked after 2 seconds of my input.

I have researched some and have found out that Timer class is not supported by Android. I have used Handler class but I did not provide what I want. It works generally but sometimes (almost half of the time) it fails and starts to answer instantly after I have played my card.

So, I want to ask it more generally. In my situation what is the best way of achieving this latency in Android exactly(not certain but almost exactly)??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青衫负雪 2024-12-20 01:53:18

AsynchTask 是最好的选择,因为它安排在 UI 线程上执行(仅允许该线程与 UI 交互)。或者,您可以生成新线程,在那里等待 sleep(),然后调用 runOnUiThread()。这对您来说可能更容易,但您必须停止此线程,以防您的游戏活动暂停。 (AsyncTask 会自动为你做这件事)

AsynchTask is best choice, as it schedules execution on UI thread ( only this thread is allowed to interact with UI). Alternatively you could spawn new thread, wait sleep() there, and invoke runOnUiThread(). This may be easier for you, but you will have to stop this thread in case your game activity gets paused. ( AsyncTask will do this for you automagically )

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文