flash游戏设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Step1.新建一个flash文档,打开文档属性对话框,修改尺寸300*330像素,背景颜色为黑色,帧频为24,效果如图:
Step2.先制作游戏中的主角—弹力小球。

新建影片剪辑Ball,在工作区中绘制一个立体小球,颜色,如图:
Step3.下面进行挡板的绘制,新建一个影片影片剪辑,取名为左右挡板,在工作区中可先绘制一块挡板,然后再将其复制成左右两块挡板,两块挡板的距离以290像素为宜,具体坐标可在属性中设置,如图:
Step4.新建一个影片剪辑,取名为上挡板,按照同样的方法制作,效果如图:
Step5.因为游戏中需要用鼠标控制水平和垂直挡板,需要将鼠标坐标值传递给挡板,所以需要做一个空的影片剪辑来传递坐标值。

新建一个影片剪辑,取名为Mouse Tracker。

Step6.接下来需要制作一些按钮。

Step7.为方便对游戏进行修改和调试,一般都需要把大部分的控制代码专门放到一个独立的影片剪辑中,新建一个影片剪辑,取名为CONTINUE,新建3个图层,分别取名为CONTINUE,动态文本,代码。

在CONTINUE图层里,在第一帧插入关键帧,添加CONTINUE 字样,下19帧处插入普通帧,在20帧处插入关键帧,将库中再来一次按钮拖入到工作区中,并在工作区中选中,再来一次按钮,打开动作面板,添加如下代码:
On(release){
Score=0;
Lives=5;
gotoAndPlay(1);
}
在动态文本图层里,在第一帧处绘制两个动态文本框,左边的文本用来提示分数值,右边的文本框用来提示生命值,在图层的第22帧处插入普通帧,在代码图层里,在第1帧,打开动作面板,添加如下代码:
xStep = Number(random(5))+6;
yStep = Number(random(5))+3;
xModifier = random(10);
yModifier = random(10);
if (Number(xModifier)>5) {
xStep = xStep-(xStep*2);
}
if (Number(yModifier)>5) {
yStep = yStep-(yStep*2);
}
if (Number(lives) == 0) {
gotoAndStop(22);
}
在代码图层第20帧处插入关键帧,打开动作面板,添加如下代码:
horX = getProperty("/mousetrack", _x);
setProperty("/hor", _x, eval("horX"));
vertY = getProperty("/mousetrack", _y);
if (Number(vertY)<245) {
setProperty("/vert", _y, eval("vertY"));
} else {
setProperty("/vert", _y, 245);
}
BallX = getProperty("/Ball", _x);
setProperty("/Ball", _x, Number(BallX)+Number(int(xStep)));
BallY = getProperty("/Ball", _y);
setProperty("/Ball", _y, Number(BallY)+Number(int(yStep)));
在代码图层第21帧处插入关键帧,打开动作面板,添加如下代码:
Lose = 0;
LeftConstraint = getProperty("/hor", _x)-47;
RightConstraint = Number(LeftConstraint)+94;
UpperConstraint = getProperty("/vert", _y)-47;
LowerConstraint = Number(UpperConstraint)+94;
yAccel = vertY-getProperty("/mousetrack", _y);
xAccel = horX-getProperty("/mousetrack", _x);
if (Number(getProperty("/Ball", _y))>270 or Number(getProperty("/Ball", _y))<30) { if ((Number(getProperty("/Ball", _x))>Number(LeftConstraint)) and (Number(getProperty("/Ball", _x))<Number(RightConstraint))) {
yStep = yStep-(yStep*2);
xStep = int(xStep-(0.15*xAccel));
Score = Number(Score)+50;
} else {
Lose = 1;
}
}
if (Number(getProperty("/Ball", _x))>270 or Number(getProperty("/Ball", _x))<30) { if ((Number(getProperty("/Ball", _y))>Number(UpperConstraint)) and (Number(getProperty("/Ball", _y))<Number(LowerConstraint))) {
xStep = xStep-(xStep*2);
yStep = int(yStep-(0.15*yAccel));
Score = Number(Score)+50;
} else {
Lose = 1;
}
}
if (Number(Lose) == 0) {
gotoAndPlay(20);
} else {
setProperty("/Ball", _x, 150);
setProperty("/Ball", _y, 150);
Lives = Lives-1;
Score = Score-500;
gotoAndPlay(1);
}
Step.8回到主场景中,新建图层,取名为背景
Step.9背景绘制完毕,为方便更好地衬托游戏,可以再背景上再绘制一个图层。

在场景中新建一个图层,将透明层放于背景层上方。

Step10.在场景中接着新建layer1. layer2. layer3. layer4.这4个图层。

在layer1中绘制所显示分数,生命的图形。

在layer2中影片剪辑Mouse Tracker拖入到工作区中,用于传递鼠标值,并在属性面板中将其命名为mousetrack。

在layer3中分别将影片剪辑上下挡板,左右挡板,CONTINUE放到工作区的合适位置,并将影片剪辑CONTINUE中的两个动态文本框到相应的位置上,接下来分别在属性面板中将其命名为hor,ver,和Conteroller,然后在layer3中选中第一帧,打开动作面板,添加代码:
Stop();
/Controller:Lives=5;
/Controller:Score=0;
在layer4中将影片剪辑放在第1帧中,在属性面板中将其命名为Ball,并选中layer4的第1帧,打开动作面板,添加如下代码:
setProperty("/mousetrack", _visible, "0");
startDrag("mousetrack", true, 55, 55, 245, 330);
setProperty("/quitspot", _visible, 0);
Step11:这样,整个游戏就做完了。

相关文档
最新文档