flash制作敲砖块

上传人:第*** 文档编号:31330746 上传时间:2018-02-06 格式:DOC 页数:16 大小:246.50KB
返回 下载 相关 举报
flash制作敲砖块_第1页
第1页 / 共16页
flash制作敲砖块_第2页
第2页 / 共16页
flash制作敲砖块_第3页
第3页 / 共16页
flash制作敲砖块_第4页
第4页 / 共16页
flash制作敲砖块_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《flash制作敲砖块》由会员分享,可在线阅读,更多相关《flash制作敲砖块(16页珍藏版)》请在金锄头文库上搜索。

1、要求:针对 flash 播放器 5、ActionScript1.0;打砖块游戏大家都很熟悉:游戏者用一个挡板对小球进行反弹,上方排列了一些方块砖,游戏的目的就是利用鼠标对挡板进行左右移动控制,以便将小球挡回去,避免小球落到挡板的下方,挡回去的小球将与上面的方砖发生碰撞,被碰撞的方砖会自动显示,玩家每打掉一块方砖,会得到一定的分数。在本实例中每局中玩家的生命值为 5,如果将当前界面中的方砖全部打完,则进入下一关。游戏开始允许玩家选择游戏难度:初级、中级和高级,不同的难度中方砖的数量和小球运动的速度不同,玩家可以根据自己的水平来选择合适的游戏难度。 游戏制作思路:本游戏主要涉及到以下几种主要控制:

2、1鼠标拖动:游戏中需要使用鼠标拖动档板左右移动来挡小球,此功能也是很多游戏中常用的,用 startdrag 函数很容易就解决了。2小球的反弹控制:游戏中小球会不断和墙壁、挡板或者方砖发生碰撞,所以需要使用 Action 来控制小球的反弹。3方砖和小球的碰撞测试:游戏中需要检测小球是否碰到了方砖,此功能可以使用 hitTest 碰撞测试函数来检测。4游戏的记分和生命值:在游戏中需要动态的显示当前玩家的游戏得分和玩家剩余的生命值,这里使用动态文本框(Dynamic text)实现显示分数的功能。通过以上几点的分析,可以大概理顺游戏的制作思路,下面我们就来进行本游戏的具体制作。游戏的制作步骤:1小球

3、的制作:此类游戏中小球是必不可少的对象,所以我们可以随意绘制一个小球,再填充上合适的颜色,不过因为我们需要在后面使用 Action 对小球进行控制,所以这里我们将小球做成 movie clip,命名为 ball,如图 1 所示: 图 12小球反弹效果制作:因为游戏中小球要在多个场合进行反弹,所以需要制作一个小球进行反弹的效果,这里我们新建一个 movie clip,命名为 ball_jmp,进入组件的编辑状态后,在原有图层 layer1 的上方新建一个图层 layer2,我们要的效果是小球由下自上弹起来,所以图层 layer1 制作小球阴影由小到大的的 shpae 形状变化效果,图层 laye

4、r2 制作小球由下自上的 motion 运动效果,如图 2 所示:图 23背景变幻效果:如果在游戏的过程中能不断的变换游戏背景,可以使游戏气氛显的很紧张,玩起来也很刺激,所以就制作一个背景颜色快速变化的 Mc,新建一个 movie clip,命名为 background,在第一帧使用矩形工具绘制一个填充色为蓝色的矩形,如图 3 所示:图 3然后在图层 layer1 的第 2 帧插入一个关键帧,在第 8 帧也插入一个关键帧,并将第 8 浈中的矩形填充色改变为浅蓝色,然后建立第 2 帧到第 8 帧的 shape 形状过度效果,最后将时间线延长到第 10 帧,如图 4 所示,图 4在图层 layer

5、1 的第 1 帧添加 AS:play = 0;stop(); /定义变量 play,然后暂停播放在图层 layer1 的第 2 帧添加 AS:play = Number(play)+1;setProperty(/ball, _visible, false);tellTarget (/) /变量 play 的值为当前值增一,然后设置小球为不可见,主场景停止播放在图层 layer1 的第 8 帧添加 AS:if (Number(play)=Number(600-ballwidth/2) or (Number(ballx)404) and (Number(ballx)Number(paddlex-p

6、addlewidth/2-8) and (Number(ballx)Number(Number(paddlex)+Number(paddlewidth/2)-int(paddlewidth/5) speedx = Number(speedx)+6; else if (Number(ballx)Number(Number(paddlex)+Number(paddlewidth/2)-int(paddlewidth/3) speedx = Number(speedx)+3;speedy = -speedy;bally = Number(bally)+Number(speedy);tellTarge

7、t (/sound) /判断小球和挡板的碰撞,然后计算反弹方向和速度setProperty(/ball, _x, ballx);setProperty(/ball, _y, bally);/设置小球的新位置,从而移动小球在此图层第 4 帧添加 as:if (Number(balls)=5) and (Number(c)1) and (Number(r)3) and (Number(c)1) and (Number(c)3) and (Number(r)0) and (Number(r)4) and (Number(c)0) and (Number(r)0) and (Number(c)4) a

8、nd (Number(r)0) and (Number(c)4) and (Number(r)4) and (Number(c)8) or (Number(r) = 0) or (Number(c) = 0) or (Number(c) = 9) duplicateMovieClip(/brickblue, brick add r add c, Number(count)+1);setProperty(brick add r add c, _x, 220+Number(40*c);setProperty(brick add r add c, _y, 50+Number(20*r);c = Nu

9、mber(c)+1;count = Number(count)+1;r = Number(r)+1;c = 0;setProperty(/brick, _visible, false);在此图层第 14 帧添加 as,下面的 as 和第 13 帧相类似,不过游戏的等级更高border = 370;bricknumber = 116;c = 0;r = 0;/c 和 r 为两个循环变量count = 1;while (Number(r)1) and (Number(r)1) and (Number(r)1) and (Number(r)1) and (Number(r)2) and (Numbe

10、r(c)2) and (Number(c)2) and (Number(c)8) duplicateMovieClip(/brick, brick add r add c, Number(count)+1);setProperty(brick add r add c, _x, 220+Number(40*c);setProperty(brick add r add c, _y, 50+Number(20*r);c = Number(c)+1;count = Number(count)+1;r = Number(r)+1;c = 0;vsetProperty(/brick, _visible, false);在此图层第 15 帧添加 as:endgame = true;Level_index = Number(Level_index)+1;最后时间线如图 17 所示: 图 17最后您就可以进行游戏的测试了。本游戏的制作难度属于中等难度,掌握好此游戏的制作方法,您还可以尝试更复杂一些的游戏制作。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号