4.起首在
layer2的第1关头帧中增加as:
//设定贪吃蛇初始x坐标值
x=198;
//设定贪吃蛇初始y坐标值
y=306;
//设定界限的最右坐标值
maxx=540;
//设定界限的最左坐标值
minx=18;
//设定界限的最底坐标值
maxy=378;
//设定界限的最顶坐标值
miny=18;
//设定贪吃蛇初始向横偏向的步数
xm=18;
//设定贪吃蛇初始向竖偏向的步数
ym=0;
//设定蛇身的个数
n=10;
//初始化i,j和场景上score函数的值,score值暗示分数。
i=0;
j=0;
/:score=0; //注重:这里/:score是指明主场景上钩分变量score的路径
5.在
layer2的第2关头帧增加as:
//设定第一个蛇身的地位
setProperty("/snake",_x,x);
setProperty("/snake",_y,y);
6.在
layer2的第3关头帧增加as:
//使用RANDOM函数设定食品的随机地位
foodx=int(Number(random(30))+1)*18;
foody=int(Number(random(20))+1)*18;
setProperty("/food",_x,foodx);
setProperty("/food",_y,foody);
7.在
layer2的第4关头帧增加as:
i=Number(i)+1;
j=Number(j)+1;
if(Number(i)>Number(n)){
i=1;
j=1;
}
//界说一个数组"oldx"&j和"oldy"&j来纪录各个蛇身的地位。
set("oldx"addj,getProperty("/snake",_x));
set("oldy"addj,getProperty("/snake",_y));
//复制蛇身,蛇身的数量即是n
duplicateMovieClip("/snake","snake"addi,i);
k=j;
//当第一个蛇身的地位与食品的地位相称时,分数加上9,蛇身个数加1,并转到第三帧。
if(Number(x)==Number(foodx)andNumber(y)==Number(foody)){
/:score=Number(/:score)+9; //注重:这里/:score是指明主场景上钩分变量score的路径
n=Number(n)+1;
gotoAndPlay(3);
}
8.在
layer2的第5关头帧增加as:
//使第一个蛇身的地位横向挪动xm个坐标或竖向挪动ym个坐标。xm和ym数值决意于按下的偏向键。
x=Number(getProperty("/snake",_x))+Number(xm);
y=getProperty("/snake",_y)-ym;
setProperty("/snake",_x,x);
setProperty("/snake",_y,y);
9.在
layer2的第6关头帧增加as:
//假如第一个蛇身的地位超越了界限,转到"lose"这帧。不然就转回到第四帧
if(Number(x)>Number(maxx) or Number(x)<Number(minx) or Number(y)>Number(maxy) or Number(y)<Number(miny)){
gotoAndStop("lose");
}else{
gotoAndPlay(4);
}
10.然后回到图层layer1,在此层我们来增加用来判别贪食蛇是不是首尾相接的action.
11.在图层
laye1的第5帧拔出一个关头帧,增加以下action;
//挪用label名为judge的帧,来判别蛇身是不是首尾相接。
call("judge");
12.在图层
laye1的第8帧拔出一个关头帧,并设置此帧的帧标签为"judge",如0所示: