我有一个愚蠢的小游戏,我为自己制作,但我想与朋友分享,因为它还没有为“黄金时间”做好准备。游戏涉及4秒内移动的人。
在我的游戏中,每当一个级别提升时,我想禁用所有按钮并显示倒计时,如3 ... 2 ... 1 ...然后所有按钮再次启用。
现在有两种方法可以做到这一点(我能想到) 发送一个意图并转移到另一个活动,我可以在那里进行“泼水”3,2,1动画,然后回到游戏活动...或
只需在同一个游戏屏幕活动中有一些文字,即3 ... 2 ... 1..go!
你会推荐哪一个?
我只是害怕,如果我把这个人送到另一个活动,那么在动画之后他们回来了,游戏就不会完全加载,但是计时器将会运行,因此游戏将给他们更少的时间来制作他们的举动。
提前致谢!
答案 0 :(得分:5)
我个人认为你应该在游戏画面上显示倒计时。这不是出于性能原因,而是因为我认为它具有更好的用户体验。如果我需要快速反应,我希望即使它被禁用也能看到UI。一旦游戏开始,我不喜欢被扔到一个完全不同的屏幕上。
从性能角度来看,我认为进入另一项活动应该没问题。只要您的onResume()
方法中没有昂贵的计算,返回游戏屏幕活动应该很快,因为它仍然会在您的倒计时活动之下的活动堆栈上。
您可以考虑使用ActivityGroup来提高效果。
答案 1 :(得分:1)
我会对转换到另一项活动犹豫不决,只是因为人们手机上有过于热心的任务杀手(当然,我们知道这是不必要的,但很多人都有它们)。如果任务杀手在用户处于启动画面时杀死了您的主要游戏活动,则您的游戏将不得不再次通过onCreate()。这不好。
我建议您将按钮保持在ArrayList<Button>
之类,然后您可以通过并说出
for(Button button : buttonArrayList) button.setClickable(false);
但我自己也是Android初学者,所以请谨慎使用我的建议。