- 78
- 0
- 约1.3万字
- 约 37页
- 2017-06-26 发布于湖北
- 举报
funcode_微信版打飞机Funcode
FunCode游戏开发设计文档微信版打飞机编写:2017年5月18日目录一、问题定义1二、实验准备1三、可行性分析3四、用例图及类图设计4五、时序图设计与流程描述135.1 游戏初始化135.2键盘相关函数设计145.3 游戏运行相关设计165.4 碰撞函数设计225.5 游戏结束设计23六、编码与实现24Plane 类24Player类25EnemyPlane类26Bullet类27PlaneItem类28SpriteFactory类28PlaneGame类29EnumDefine类32LessonX类34一、问题定义开发一款微信打飞机的小游戏,实现自己飞机击毁敌机得分,吃到加血物品加血,吃到加魔的物品加魔,魔到一定值时可以通过吃掉相应物品在一定时间内获得不同的子弹发射方式和飞机移动速度。规则如下:1.按下空格键游戏开始。2.通过WSAD 键控制玩家飞机移动上下左右移动,但不能飞出边境。3.玩家飞机每隔一段时间自动发射一发炮弹。4.玩家飞机被敌机碰到后,生命值会减少,生命值变为0的时候,游戏结束。5.在游戏上方会一直出现电脑飞机(敌机),敌机分为大、中、小三种类型,越小的飞机出现的几率越大。6.敌机被玩家飞机击中后,生命值会减少,生命值变为0时,该敌机被摧毁,玩家得分。越大的飞机越难击毁,击毁后玩家得分也越多。7.敌机飞到界面下方时,删除敌机。8.在界面外用一个文本显示玩家游戏得分。二、实验准备打开FunCode,创建一个新的C++项目。注意:项目名称必须为英文和数字,且不能有空格。点击“项目”→“导入地图模板”,从对话框中选取名称为WarPlane的模板导入。导入成功后,界面如下:查看模板设置。模板设置中有如下几点,在项目开发时需要用到:精灵的名称,创建精灵对象时,通过精灵名称把对象和精灵图片绑定在一起。玩家飞机的链接点,右下图鼠标点击的位置就是玩家飞机的链接点,飞机发散子弹时,位置应该在链接点前方位置。子弹的碰撞边界的设定,把碰撞边界设置在图片中的有颜色区域,这样敌方飞机实际是碰撞到子弹图片的有颜色区域才发生碰撞事件,从而是游戏效果更逼真。在“场景预览”窗口中,点击游戏屏幕之外的区域,然后在“编辑”面板中修改“窗口大小”,该属性用来设置游戏运行时屏幕大小。“屏幕位置”中的“宽”“高”则是用来设置“场景预览”窗口中可见区域的大小。按下图进行设置。也可以自行调整这两个区域大小,以及图片大小,从而达到最佳效果。三、可行性分析FunCode作为一个功能比较简单,封装的库函数不多的,游戏开发引擎,上手比较容易,对于开发平台的性能要求也不高,符合技术可行性和系统可行性。四、用例图及类图设计玩家控制飞机移动,飞机自动发射子弹,然后游戏一直循环,当飞机HP归0时游戏结束。飞机类作为其他所有和飞机相关类的基类,PlaneGame类是控制类,这个游戏的主要实现在PlaneGame类中完成。包括设定子弹、开火、删除已摧毁精灵、通过名字获得精灵、播放动画、创建敌机、创建物品等动作。类的具体定义如下:飞机类:Plane 继承自CSprite类属性private int iHP飞机生命值private float fPointX飞机当前位置中心点的X坐标private float fPointY飞机当前位置中心点的Y坐标private float fSpeedX飞机X轴方向移动速度private float fSpeedY飞机Y轴方向移动速度方法public int getHP()获取飞机生命值public void setHP(int hp)根据参数设置飞机生命值public float getPointX()获得飞机的X坐标public void setPointX(int x)设置飞机的X坐标public float getPointY()获得飞机的Y坐标public void setPointY(int y)设置飞机的Y坐标public float getMoveSpeedX()获得飞机X轴方向上速度public void setMoveSpeedX(float speedX)设置飞机X轴方向上速度public float getMoveSpeedY()获得飞机Y轴方向上速度public void setMoveSpeedY(float speedY)设置飞机Y轴方向上速度敌方飞机类:EnemyPlane 继承自Plane类属性private int iValue敌机价值,即玩家飞机击毁敌机后可获得分数private int iType飞机类型。0 – 大型敌机 1 – 中型敌机 2 – 小型敌机方法public int getValue()获取敌机价值public void setValue(int val
您可能关注的文档
- F-500高效灭火剂.ppt
- FDTD法研究激光等离子体对电磁波反射特性的影响.doc
- FGR及死胎.ppt
- First aid重点单词讲解.ppt
- Festivals around theworld Reading 上课.ppt
- First_aid_词汇.ppt
- Excel课件130811上午Exce公式与函数数据透视表+下午专业图表设计.docx
- First-aid-词汇.ppt
- flash CS4创意动漫制作基础——第2章 绘图工具.ppt
- flora四级写作.ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)