分类分类
关注+2004-11-07作者:蓝点
Flash射击类游戏现在已经有很多了,大部分是那种飞行射击类游戏,这此我们来学习制作一款比较另类的射击游戏—打靶,就象在靶场一样,远处摆放一个目标靶,你来进行射击,不过这个游戏玩还是有点难度的,因为游戏中的目标靶会一直慢慢的移动,可不是一动不动地等着你来打。(本例的.swf和.fla文件点击这里下载)
游戏的主界面如图1所示:
图1
游戏中有一个不断移动的方形目标靶,玩家可以控制一个瞄准器来射击,每次最高得分为5分,也就是必须射中靶心才可以,最低得分为1分,具体得分视射击结果来定,目标靶的右面是记分牌,用来记录射击次数和每次的得分,每次游戏可以打十枪,得分越高越好。
1.游戏中每次射击后对所得分数的判断是根据所射中的圆环,如果射中的是最外面的圆环,只能得一分,越往内部,得分越高,所以首先制作目标靶中的代表不同得分的圆环,因为在射击过程中圆环需要对鼠标的点击做出响应,所以圆环应该制作成Button.
新建一个Button按钮元件,命名为1,进入元件的编辑区后,使用椭圆工具绘制两个不同大小的正圆,然后将小圆放到大圆的内部,并将小圆的内部填充区域删除掉,然后使用文本工具在圆环上标注上分值,如图2所示:
图2
按照相同的方法制作其余四个代表不同分数的圆环,只不过分数越大的圆环,其内部的小圆半径就越小,同时给不同圆环标注上相应的分数,其余四个圆环分别如图3,4,5,6所示;
图3
图4
图5
图6
2.接下来制作瞄准器,新建一个Graphic图形元件,命名为gun,进入元件的编辑区后,使用绘图工具绘制如图7所示的瞄准器:
图7
在第4帧插入一个关键帧,将图7中的所有线条的宽度稍微减小,如图8所示,这样就可以达到瞄准器的伸缩效果:
图8
最后新建一个Movie clip影片剪辑元件,命名为mgun,将上面制作好的元件gun拖到编辑区中即可
3.下面来制作游戏中的关键部分,目标靶。新建一个Movie clip影片剪辑元件,命名为target,进入元件的编辑区后,添加四个图层,从下向上依此命名为bg,target,info和as。
选择图层bg,使用Flash提供的丰富的绘图工具绘制一个目标靶的背景图,可以根据自己的喜好来绘制,这里我们绘制的背景图如图9所示:
图9
最后将时间线延伸到第3帧。
回到图层target,将前面制作好的五个圆环1,2,3,4,5拖到编辑区中,将1排到最外层,将5放到最内层,并按照实际生活中靶的情况进行排列,如图10所示:
图10
最后将时间线延伸到第2帧即可。
回到图层info,使用文本工具在游戏背景的右侧绘制两个文本框,在属性面板中分别设置为Dynamic text动态文本框,并分别设置文本变量为b和c,分别代表游戏中的射击次数和每次的得分,然后使用文本工具在文本框旁边输入提示信息,如图11所示:
图11
然后在此层的第3帧插入一个空白关键帧,使用文本工具在背景上输入重玩的提示信息—replay,然后在下面绘制一个动态文本框,设置其变量名为a,用来显示最后的总得分,如图12所示;
图12
最后在图层as的第2帧添加AS: gotoAndPlay(1); 在图层as的第3帧添加AS: stop();
4.这里可能大家会问,控制游戏的Action动作脚本在哪里呢?我们可以仔细想一想,游戏中的主要动作就是玩家对目标靶进行的射击,所以游戏中主要的控制脚本应该加在前面的五个圆环中。
回到图层target,选中圆环1,添加如下AS:
on (release) {
a=Number(a)+Number(1);
//如果击中了圆环1,游戏总分为上次总分加1
b=Number(b)+Number(1);
//射击次数为当前次数加1
c=1
//当次射击得分为1
}
//如果击中了圆环1,游戏总分为上次总分加1
同样的给圆环2添加如下AS:
on (release) {
a=Number(a)+Number(2);
//如果击中了圆环1,游戏总分为上次总分加2
b=Number(b)+Number(1);
//射击次数为当前次数加1
c=2
//当次射击得分为2
}
给圆环3添加如下AS:
on (release) {
a=Number(a)+Number(3);
//如果击中了圆环1,游戏总分为上次总分加3
b=Number(b)+Number(1);
//射击次数为当前次数加1
c=3
//当次射击得分为3
}
给圆环4添加如下AS:
on (release) {
a=Number(a)+Number(4);
//如果击中了圆环1,游戏总分为上次总分加4
b=Number(b)+Number(1);
//射击次数为当前次数加1
c=4
//当次射击得分为4
}
给圆环5添加如下AS:
on (release) {
a=Number(a)+Number(5);
//如果击中了圆环1,游戏总分为上次总分加5
b=Number(b)+Number(1);
//射击次数为当前次数加1
c=5
//当次射击得分为5
}
最后的时间线如图13所示;
图13
5.最后回到主场景,新建两个图层,分别命名为target和gun,分别将元件target和gun拖到相应的图层,在属性面板中设置对象gun的实例名为move,然后在图层gun 的第一帧添加如下AS:
startDrag("/move", true);
Mouse.hide();
//拖动瞄准器并隐藏鼠标
对于图层target中的目标靶,我们可以设置一些Motion运动过渡,使其缓慢的移动,具体如何移动可以自己来觉得,无非是先向坐,再向上,再向右,最后再向下这样的干扰射击的运动。最后时间线如图14所示:
图14
这样,一个很好玩的打靶游戏就制作完成了,你也可以对本游戏进行适当的扩展,比如说设置十个圆环,最高得分为10,这样就更增加了游戏的可玩性
相关文章
更多+相同厂商
热门推荐
点击查看更多
点击查看更多
点击查看更多
说两句网友评论