当前位置:文档之家› flash游戏设计报告

flash游戏设计报告

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))

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))

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:这样,整个游戏就做完了。

相关主题