【初次接触 Android】Google Sample LunarLander的一个问题

  话说闲来没事玩Android的游戏吧。发现了一个问题。


  在 Google 的 android-sdk-windows-1.0_r2 的sample中,有一个 LunarLander 例子。一个挺好玩的游戏,很难。但是发现一个问题就是没有介绍如何玩这个游戏。一直不知道怎么控制着陆。看了代码才知道 按住 S 是 点火firing(靠,这年月忌谈fire!)。这才能玩这个游戏。

 

所以产生了一个想法,在这个例子程序中添加一个Help的菜单弹出这个按键帮助。这也算是第一次接触Java和Eclipse的学习和实践吧。

 

1. 和VC 一样,先要创建一个Help的menu资源和字符串。
在 LunarLander.java 的 onCreateOptionsMenu(Menu menu)中添加一行。

 

2. 双击Eclipse->Package Explorer->LunarLander项目的res->values文件夹底下的 string.xml 中添加
"Add..."添加一个字符串用来显示菜单内容。
      Name:  menu_help
      Value: Help.

另外需要添加一个字符串显示帮助内容。
      Name:  message_help_content
      value: "Left Arraw Key: counter-clock rotate/nRight Arraw Key: clock rotate/nUp Arraw Key: Start/Stop/nBlank Key: firing/nS Key: restart"

3. 在LunarLander.java的 onOptionsItemSelected 函数中添加 switch 分支

4. 在LunarLander.java 中添加Help函数的实现:

   这么NB的代码,不是自己写的是google出来改的。
   nnd,在VC下的一个简单的MessageBox消息框,这边居然这么复杂。
   用到了集合的概念(以前用Javascript的使用学过这个概念)。
  
5. 接下来可以进行测试了。选中项目,点Run。在模拟器上运行起来了。
   模拟器上点 Menu-> More->Help。出来帮助了。

 Final Screenshot

6. 小插曲,再仔细测测,你会发现一个bug,就是help对话框保持的状态下,按Home键回到主屏,然后再次进入LunarLander程序时候,系统会报错。
"Sorry! The application Lunar Lander(process com.example.android.lunarlander) has stopped unexpectedly.Please try again. Force close"如下图:

LunarLander Crash

7. 如何修改呢?谁知道告诉我一声。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值