详细内容
 
当前位置
Flash游戏制作:简单的射击游戏
作者:管理员    发布于:2012-05-11 23:35:06    文字:【】【】【

Flash游戏制作:简单的射击游戏

第一步,自定义鼠标:
CTRL+F8加入新元件,画个魔法棒,做三帧,第一帧为普通状态,第二、三帧为按下状态,若按下状态只有一帧,动画太快。在库中(CTRL+L打开库)右键单击该元件,选择链接,在对话框中选定“为ActionScript导出”,然后在标识符输入一个名字,我的是mouse。这样attachMovie就能运行时导入影片魔法棒,创建鼠标侦听事件,做到棒子代替原鼠标图案。
自定义鼠标效果

第二步,鼠标追随:
加入新元件(CTRL+F8),800%视角画个小星星,元件命名为flashStar,再加入一个manyStar,将flashStar拖入manyStar,同时flashStar的属性的实例名称命名为mc0,它就是追随中的带头大哥,在manyStar里写代码,先复制一群小弟,后一个追着前一个跑就行了。然后将manyStar拖入场景,命名为mc,在代码处加入开始确定mc位置的代码就好了。简单吧,关于命名的东东我往后不详细说了。
鼠标追随效果

第三步,变化的星星:
修改flashStar,让它做变色动画,这样我们的星星就能边追随边变色,再搞个revolutionStar,将flashStar加入其中,让flashStar做旋转动画,接着在manyStar中把原来的flashStar交换成revolutionStar(在属性框中交换),星星可以追随、变色加旋转了!这样我们完成了三个影片的嵌套使用,manyStar套revolutionStar套flashStar,关于嵌套我又不多说了。做个moveStar,套上revolutionStar,做引导线运动,引导线就随便画吧,再将manyStar中的revolutionStar交换成moveStar。
变化的星星效果

第四步,一堆星星:
做randomStar套moveStar随机决定其位置,再交换,做个allStar套randomStar将其复制出六个,旋转它们角度到六个方向上,再交换。好了群星追随全部完工。
一堆星星效果

第五步,Flash游戏制作物体下落:
先做个函数randRange用于获取两数间的随机整数,以后多处用到。做个圆形元件第一帧停止,我的之所以持续多几帧,是为了将来设置帧标签时好看。创建this.onEnterFrame事件,这个就是游戏的主循环,意思是this(这里指主场景)进入帧后就不停的干。然后象第一步那样运行时导入圆形,设置属性,建立被导入圆形的onEnterFrame事件,这里是指这个圆形进入帧后就不停的干直到它被删除,事件中的this就指这个圆形而不是前面的主场景。通过改变_y属性做到下落,超出范围就删除。用个randRange来决定是否出现新物体下落,不然会有一堆圆形出现。还要注意的是我用了depth变量决定新物体的深度,并使它保持在一定范围内,而没有用getNextHighestDepth()方法,之所以这么做是为了保持鼠标图案的5000深度最高,这样物体不会覆盖到棒子的上面。但大家可以发现星星是在物体下面的,就是因为它的深度不够,大家可以想办法修改。
物体下落效果

第六步,多种物体:
加入多几种图形元件,在导入时随机决定种类、属性,with的用法值得注意下,这可以减少输入量。另外属性中有个叫speed的,它不是内置属性,是我们自己加的,FLASH允许不声明就使用变量,其实这个speed是新建依附于target的变量,各个导入元件的speed是不同的,所以物体以不同速度下落。
多种物体效果

第七步,点击事件:
加入blast元件先不画东西,再修改各个物体元件,在他们后加入空白关键帧,设置帧标签(点帧看属性框)为hit,加入blast。这是为了做出点击后的爆炸效果,blast的动画就自己画了,就是做些碎片朝不同方向飞开就行了。回主代码处创建target的onPress事件,就是点这个元件后要做的事,然后this.gotoAndStop("hit")。要注意的是一定要用this而不能用target,虽然创建时target和this指的是同一个东西,但随后的运行target是会变的,而this一直都指向它的创建者。
点击事件效果

第八步,Flash游戏制作得分框:
这个主要自己看了,F1看帮助是好的学习方法,除Date和createTextField外就是加个score变量,在被点击时加分。
得分框效果

第九步,Flash游戏制作难度变化:
加入level变量,和两个关于level变化提示的元件,修改链接。score在物体超界时减少,level在updateStats()中根据score更新,再根据level变化情况导入相应levelDown或levelUp元件,同时物体下降速度和机率都根据level变化。当level到10后randRange(0, 30 - level * 2) == 11永远为假,即创建新物体行为停止,同时帧到第三,显示Win字样。至此,游戏基本完工,再改改细节,比如画布大小,背景色,帧数,在鼠标侦听onMouseMove中加入updateAfterEvent();使移动更顺畅,改改Bug,根据自己喜爱修改level,speed,score等,或加入自己的东西,但还有!

第十步,自己搞:
重看源代码,先理解游戏整体结构,再看细节实现,充分理解后自己动起手来吧!

脚注信息
版权所有 Copyright(C)2008-2015 龙腾动画(北京龙腾创星科技有限公司) 京ICP备16063988号-3       本站关键词:flash动画制作 

 
QQ在线咨询
咨询热线
010-57477990
7*24咨询热线
13701141129