有一些BUG需要处理,比如小鸟太高或者太低都应该报错(不然直接掉到窗口下面去了),这个方法跟前面的HitTest应该独立开来,而不是掺和在一起

 

测试确实可以检测是否超过边界(如果要非常精确,那么就不仅仅是判断跟窗体宽度和高度的比对了,要去掉小鸟本身的宽度和高度)

 

此外小鸟和管子都应该用一些背景图片代替,而不是只有填充的颜色,这里只是简单的用了普通的图片(尤其是管子会被随时缩放,还是效果不够理想,如果要把游戏做的很精致,需要仔细研究如何在自定义多边形中放图片)

 

借着这个机会,我把绘制,填充背景色,填充纹理都分开了(注意填充矩形两个函数名称是一样的,而函数的输入不一样,这个叫做重载,你有时候输入一个微软提供的函数,它提示你+3重载,就表示有其他三种同名函数,但是函数输入不一样,使用重载的好处是整个类更加简洁,你在别的地方敲类名.之后弹出来的一堆属性和方法,不会显得太多太啰嗦,因为你已经知道给什么参数,他就会去执行什么方法了)

 

为了提高游戏难度,我们需要从上方和下方都生成管子

 

这需要改写之前的Pipe的Init方法,本来只是从某个中间位置往下很长,现在还有可能画笔在顶部,往下一个随机的高度值(注意尽可能的利用已有的代码,已经减少重复代码)

 

总结:到此为止这个小游戏也算是开发完了(可以完善的功能很多,比如小鸟如何拍打翅膀,如何暂停/继续运行,如何死了之后有类似于原地复活的药水可以选,像神庙逃亡,天天酷跑这些游戏如何做金币的奖励等等),读者需要仔细体会一个完整程序从想法要最终实现的过程。

1 先思考在整个项目中哪一个是最困难的,最不确定的,想一些小实验去验证他

2 把每个对象都框出来,比如有裁判,有小鸟,有管子,每个对象都需要哪些属性和方法

3 逐步完善每个对象的方法(大部分时候我们一开始是无法想的很明白全部的属性和方法的,这需要先写一部分,后面验证完了再改)

4 最后去考虑不是很重要的功能(比如积分,替换图片,游戏奖励等等),而不是一开始就花大量时间思考怎么样把按钮做的很漂亮,元素运动的很平滑

5 完成之后提取整个项目有意义的方法,单独封装成一些类库,方便自己以后使用,要有好的习惯随时整理在各个方面的类库(也包括网上好的帖子要保存下来备用)

 

 

更多教学视频和资料下载,欢迎关注以下信息:

我的优酷空间:

http://i.youku.com/acetaohai123

 

我的在线论坛:

http://csrobot.gz01.bdysite.com/

 

问题交流:

QQ:910358960

邮箱:acetaohai123@163.com

 

 

 

 

 

 

 

最新文章

  1. SQLite学习笔记(十)&&加密
  2. 记从安装centos系统在到使用mono3.2部署MVC过程遇到的问题
  3. 内存屏障(Memory barrier)-- 转发
  4. [AngularJS] Design Pattern: Simple Mediator
  5. Android 用ping的方法判断当前网络是否可用
  6. [转]给Linux系统管理员准备的Nmap命令的29个实用范例+ tsysv 系统服务器管理器
  7. POJ 1565 Skew Binary(简单的问题)
  8. Memcached操作
  9. [转]Windows下Python多版本共存
  10. Node.js建立服务、路径处理与响应
  11. poj 1164 深度优先搜索模板题
  12. python实现数组和链表的归并排序
  13. JS UNIX 时间戳与时间格式转换
  14. Android ViewDragHelper全然解析 自己定义ViewGroup神器
  15. ES6 async await 面试题
  16. maven-windows使用
  17. hdfs shell的基本操作以及hdfsWeb查看文件
  18. shiro1
  19. javascript Boolean
  20. RESTful API 设计原则

热门文章

  1. HDU 6199gems gems gems (DP)
  2. c++源文件后缀名问题
  3. SRPG Studio 教程(一) 创建游戏及引用素材
  4. 【BZOJ 2179】 2179: FFT快速傅立叶 (FFT)
  5. 「NOIP2018」保卫王国
  6. KMP的小结
  7. 【lct】bzoj2002 [Hnoi2010]Bounce 弹飞绵羊
  8. 【KM】BZOJ1937 [Shoi2004]Mst 最小生成树
  9. Matlab 曲线绘制之线型和颜色 示例
  10. 在Windows下将Redis注册为本地服务