Flash AS以贪吃蛇小游戏为实例学习类编程_Flash教程
推荐:Flash 动画人物角色行走的几种实现方式关于角色的行走,是动画中常见的场景了,也是flash制作动画应该把握的一项基本内容,本文从三个方面给大家分别阐述一下,并且给大家分别演示和提供演示的源文件
使用类编程思路清楚,可读性强,本例通过编写贪吃蛇展示类的基本应用。最终效果如下:
:本文中全部的Fla源码在文章最后全部打包供大家下载研究学习使用。
看不懂链接名等内容的,可以看我的另一个教程“ 简单射击游戏教程 ”,或许有所帮助。全部源文件如下:贪吃蛇—类编程.rar
第一步:“蛇”类初始化
新建fla文件,同目录下新建as文件,取名Snake.as,类名必须和文件名相同。fla文件中新建蛇节点元件,链接名为node,第一帧和类中写入相应代码。
第一步:“蛇”类初始化.rar
第二步:蛇的移动
写个move方法,在init方法中设置时间间隔。
第二步:蛇的移动.rar
第三步: 键盘改变移动方向
写个changeDirection方法,在主场景第一帧用键盘事件调用该方法,控制蛇的方向。
第三步:键盘改变移动方向.rar
第四步:增加节点
写个addNode方法,新节点产生在蛇尾即nodes[length - 1]的位置上,暂时加个按钮调用addNode方法,观察结果。
第四步:增加节点.rar
第五步:碰撞判定
修改move方法,假如头节点与蛇身其他部位重合,clearInterval删除move的定时调用。同时changeDirection也要加多个判定,不能让头节点和第二节点重合,加多这个判定是为了防止一个Bug的产生,一些贪吃蛇程序并没有注重到这点。这个Bug产生原因如下:
假设蛇向右移动,是不能进行向左改变方向,但由于move方法是定时调用的,比如每300毫秒一次,所以在这300毫秒内可能进行了多次快速按键。第一次按向下,蛇的xDirection和yDirection改变为向下,但move的执行时间没到,又紧接着按左,因为蛇方向在数据上已经改变,所以捕捉不到不能向左的判定,快速按键造成蛇反向移动的Bug就产生了,加个上述判定就好了。
第五步:碰撞判定.rar
第六步:食物类编写
新建Food类,注重用extends继续MovieClip,这样元件才能链接它,在主场景中新建食物元件,链接Food类,实例名为food,拖入场景。在Food中写入appear和disappear方法,做两个临时按键调用它们观察效果。
第六步:食物类编写.rar
最终完成:吃食物
Food中定时调用appear,并通过setSnake引入Snake实例snake,判定蛇身坐标不让新食物与之重合。Snake中通过setFood引入Food实例food,判定是否吃到食物,做出相应处理,如食物消失,增加蛇节点,改变setSnake。场景第一帧也要setSnake引入蛇头。
以后还要增加新功能,如阻碍物设置等,都可以通过改变as文件完成。虽然类编程比直接控制影片较为繁琐,但由于使用了面向对象,以后再对程序进行完善时都可依照对象行为思考,每个方法就是对象的每个行为,什么行为需要改变就找对应的方法修改,思路清楚。
以上全部RAR文件点击这里下载源文件分享:Flash AS 制作生化危机游戏的简单尝试这个教程先给大家做一个游戏中的场景,只是简单的尝试着做做!模板无忧友情提醒:由于该教程中演示Flash动画较多,所以打开本页后速度会慢些甚至影响浏览器
- 相关链接:
- 教程说明:
Flash教程-Flash AS以贪吃蛇小游戏为实例学习类编程。