Android SDK sample中的一个示例程序。

Snake的代码量很少,只有三个源文件,而且代码很清楚,以下做点学习笔记。

1. 自定义一个继承自View的类,实现View中一些方法(如onDraw),完成游戏界面基本视图。

2. 用一个继承自Handler(不太懂)的类定时发消息,实现游戏界面的动态绘制(蛇在移动)。

3. 保存状态,如玩游戏过程中,按HOME键,再重新进入游戏,恢复先前游戏状态。

4. 剩下的就是程序逻辑了,容易理解。

起初遇到一个不解的问题:
当蛇碰到墙壁结束游戏时,会设定当前模式为“LOSE”状态,但并没有释放mSnakeTrail(存放蛇位置的点集合),为什么就停止蛇的动态绘制了?而墙壁和苹果,依然绘制在画面上。

问题解决:
调试发现,游戏结束后,继承自Handler的类依然在工作,依然定时绘制画面,只不过mSnakeTrail没有画,提前return掉了。

更多相关文章

  1. android 控件颜色随焦点变化实例
  2. Android中常常使用shape来定义控件的一些显示属性,今天看了一些sh
  3. Android中的通知—Notification .
  4. Android(安卓)CheckBox
  5. Android:蓝牙耳机断开连接,音频播放器暂停播放
  6. 【Android翻译】关于Activity的onSaveInstanceState调用时机的说
  7. Android样式:selector(选择器)
  8. Android基础 - Android(安卓)Studio 添加游戏音效
  9. Android手机游戏开发知识点总结

随机推荐

  1. SQL Server 表变量和临时表的区别(详细补
  2. sql server中判断表或临时表是否存在的方
  3. sql的临时表使用小结
  4. sql server 创建临时表的使用说明
  5. SQL Server数字开头的数据库表名的解决方
  6. 日常收集常用SQL查询语句大全
  7. 使用SqlServer CTE递归查询处理树、图和
  8. SQL SERVER调用存储过程小结
  9. 在sqlserver中如何使用CTE解决复杂查询问
  10. 浅析SQL数据操作语句