flash小游戏开发

网页游戏开发中,尤其是sns类型的游戏,经常要开发小游戏。这个说难也不难,说简单也不简单。不难,随便找个新人,培训一两周as3,就可以做个小游戏上手了。不容易,要开发得好,代码可读性强,容易维护,却不易。我去看了本人所在项目的源代码,发现小游戏的代码质量相对于其他基础系统的代码质量要差一些。查阅了相关资料,书籍,发现前人已经终结出了一个个开发框架,可以套用的。

先举一个特别简单的例子吧。打飞机游戏(想到其他地方,思想不纯洁的同学先去面壁:)。功能特别简单,通过控制键盘的方向键,操控飞机的运行方向。按space键,发射子弹,如果子弹打中空中飘浮的障碍,就将其击破。这个游戏是典型的键盘操作游戏,物体的运行是根据时间来决定的。可以参考以下的步骤设计:

1.定义变量,arrowUp,arrowDown,arrowLeft,arrowRight

2.初始化一批障碍物,角度随机,速度随机

3.舞台监听 键盘按下事件 和 键盘松开事件。在监听事件处理函数中记录按下的键值,相应的变量设为true,松开时设为true。如果按下空白键,就新建一个子弹对象,具有初始速度dx,dy,旋转角度跟飞机的相同

4.在enterFrame中进行以下操作
4.1.计算距离上次的时间差,
4.2.移动飞机
4.3.移动子弹
4.4.移动障碍物
4.5.判断是否发生碰撞(通常比较偷懒的办法是,所有要检测的对象都统一存储在数组中,遍历检测碰撞)

5.游戏结束

看了上面的介绍是不是觉得思路比较清晰了。其实大部分小游戏都可以抽象成几大类。每一类都有原型可以参考。利用原型开发,可以大大提高开发效率,代码质量也大大提高。这里提供一本经典的书籍参考《ActionScript 3.0 Game Programming University》,学好里面的范例,就基本入门了。

后记,写这本blog的时候,重新研读了pureMVC源码,发现一些的小游戏也可以用pureMVC来开发,解耦性更好。准备另写一篇blog描述一下思路。

原文地址:https://www.cnblogs.com/tinytiny/p/2528048.html