射击类游戏不仅在各种平台的游戏中占有重要地位,在flash游戏中也占有数量上的绝对优势,不少朋友喜欢将学习flash射击游戏的制作作为学习flash游戏制作的开始,又因为射击游戏可根据作者自己水平的不同,可难可易,较易掌握,所以flash射击游戏的制作成为flash游戏的一大热点,这次我们就来学习一款简单的flash射击游戏—打飞碟(本例的源文件和.swf文件请点击这里下载)。
图1为游戏的主界面:
图1
游戏的玩法和目的:
从游戏主界面中可以看出,在野外优美的景色中,射手需要集中注意力,使用鼠标控制瞄准器努力射中从房屋后面飞出来的飞碟,飞碟的飞行方向是不断变化的,而且飞行的轨迹是弧线,所以一定要仔细认真才能准确的击中飞碟,下面的房屋中间的窗户作为游戏中的记分台,每击中一个飞碟,记分增一,累计击中60个飞碟后,游戏结束。不过也可以在游戏制作过程中根据自己的需要设置游戏胜利所需要击中的飞碟数,游戏的玩法非常简单,制作方法也不是很难,下面我们一起来学习本游戏的制作
游戏制作步骤:
游戏中所需组件的制作:
1. 飞碟的制作:游戏的名字叫打飞碟,当然少不了飞碟了,如果你有耐心的话,可以自己在flash中绘制一个漂亮的飞碟,或者从外部导入现成的飞碟图片也可以。影片中新建一个graphic组件,命名为duva,进入组件的编辑状态后,使用绘图工具绘制一个飞碟的外形,然后填充上自己认为满意的颜色即可,如图2所示:
图2
2. 瞄准器的制作:有了飞碟,还需要有瞄准器才可以打飞碟,所以接下来我们制作一个瞄准器。新建一个graphic组件,命名为imgtimecircel,进入组件的编辑状态后,使用椭圆工具绘制一个黑轮廓且无填充色的正圆,然后在正圆的四面各画四条段直线,这样一个简单的瞄准器就做好了,如图3所示:
图3
3. 飞碟的击破状态的制作:有了飞碟,又有了射击飞碟的瞄准器,就可以开始打飞碟了,不过在继续往下制作前,我们需要考虑一下飞碟被击中后的状态,这样可以使游戏显得更加逼真和生动。新建一个graphic组件命名为lens,进入组件编辑状态后,将默认图层layer1更名为lines,然后使用绘图工具绘制一些浅绿色的粗线条,尽量绘制的零乱些,如图4所示:
图4
然后再新建一个图层重命名为circle,使用椭圆工具在线条中心绘制一个无填充色的正圆,再新建一个图层重命名为flare,使用椭圆工具绘制一个具有渐变填充色的圆,如图5所示:
图5
然后再新建一个graphic组件,命名为flare,将组件lens拖到编辑区,并在属性面板中设置填充色为红色,如图6所示:
图6
4. 飞碟按钮的制作:因为游戏中需要使用鼠标控制瞄准器来射击飞碟,而射击飞碟需要借助于按钮的帮助,所以需要将飞碟和飞碟击中后的状态做成按钮,才可以在游戏中起作用,新建一个button组件,命名为duvabutt,在up桢将组件duva拖到编辑区中,在down桢插入一个关键桢,将对象换成组件flare,这样当瞄准器在飞碟上按下时,将打破飞碟。
5. 记数器的制作`:游戏中需要用到记录已打中飞碟个数的记数器,所以新建一个movie clip组件,命名为count,进入组件编辑状态后,将默认图层重命名为box,使用绘图工具绘制一个小屋,然后将时间线延续到第60桢,如图7所示:
图7
然后再新建一个土层,重命名为scooreboard,先使用矩形工具在小屋上绘制一个小窗口,然后使用文本工具在窗口上输入数字00,按照同样的方法在第二桢输入01,依此类推,在第60桢输入数字60,然后再新建一个图层,命名为number,在此层给每一桢都添加as:stop();,最后效果如图8所示:
图8
6. 隐形按钮的制作:游戏中并不一定每枪都能射中飞碟,当然也有射失的时候,所以需要制作射失的效果,也就是射击失败后也要有瞄准器的响声和瞄准器的发光效果。这些就需要在场景中布置大量的隐形按钮来实现。新建一个movie clip,命名为lights,使用圆形工具绘制一个正圆,如图9所示:
图9
然后新建一个movie clip,命名为all the hotspots,将组件lights拖到编辑区中,一个接一个的排列好,如图10所示:
图10
7. 最后需要制作的就是飞碟从不同角度飞出,沿着不同飞行路线飞行的效果,可以把每一种飞行路线做成一个movie clip,本游戏中一共有5种飞行路线,所以一共制作了从duva1到duva5的5个不同的movie clip.您可以根据自己的需要制作一定数目的飞行路线。这里我们以duva2为例,说明飞行路线的制作方法,其他movie clip的制作方法相类似。
新建一个movie clip组件,命名为duva2,进入组件的编辑状态后,将组件duvabutt拖到编辑区中,然后在第34桢插入一个关键祯,将对象duvabutt拖到左上角,建立从第1桢到第34桢的motion过渡动画,然后在第35桢也插入一个关键桢,将对象duvabutt替换为组件flare,在第70桢插入一个关键桢,同样做一个对象flare飞向左上角的motion运动过渡,最后时间线如图11所示:
图11
按照上面相类似的方法制作其他的飞行路线即可,只不过motion过程中的运动方向互不相同罢了。
到此为止,所有游戏中需要的组件已经制作完毕,下面就要布置主场景了
布置主场景:
1. 回到主场景中,将默认的图层layer1重命名为terrain,使用绘图工具绘制一个野外的风景,如图12所示:
图12
2. 新建一个图层,重命名为crosshair,将组件all the hotspots拖到舞台的上部,作为瞄准器的触发区,为了不影响游戏的效果,所以设置此层为不可见,如图13所示:
图13
3. 新建一个组件命名为counter,将组件count拖到舞台的下中部,作为记分牌使用,如图14所示:
图14
4. 接下来就要在舞台中布置飞碟了,简单起见,我们游戏中一共有五中飞碟的飞行路线,所以我们以每五层为一组,每组都包括所有的飞行路线,不过每一组之间都要有一定的时间间隔,比如第一组的结束桢可以做为第二组的开始祯,同样的,每组内也需要有一定的时间间隔,也就是第一种飞行路线的结束桢可以做为第二种飞行路线的开始桢,这样做的目的是同一时间内只飞出一个飞碟,避免了同时飞出多个飞碟的局面,这样才符合实际情况。
这样,一个有趣的射击游戏就做好了,游戏中基本上没有使用action, 完全依靠手工来完成各功能,制作起来也不是很难,很适合初学者来学习。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器