Flash AS以贪吃蛇小游戏为实例学习类编程_Flash教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐: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教程/更新时间:2008-03-05
相关Flash教程