来一发Flash游戏制造:贪食蛇(3)
运行时,它可以跨浏览器和操作系统、原汁原味地呈现具有表现力的应用程序、内容和视频,功能强大,兼容性高。Action代码把持
这一步是全部游戏制造中最最关头的阶段,游戏的次要把持部分都在这里完成。
1.拔取insert--.>newsymbol菜单命令,仍是新建一个movieclip范例的组件,并给其定名为control.
2.在组件control的编纂形态下,新建一个图层layer2,此图层用来增加游戏的主action.
3.给图层layer2的第二到第七帧全体拔出关头帧,而且在properties属性面板中给第7关头帧增加帧标签framelabel:”lose,”,如所示:<Palign=center>
<P> 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所示:<Palign=center>
0 13.在图层layer1的第8帧增加以下as:
//挪用数组"oldx"&j和"oldy"&j来跟第一个蛇身的地位对照,假如相称的话,则GameOver。
j=1;
while(Number(j)<NUMBER(N)){
if(x==get("oldx"addj)andy==get("oldy"addj)){
re=1;
}
j=Number(j
此外,还支持α透明功能,能够设计人员在Flash视频中对诸如文本、矢量图像以及其它Flash元素等进行整合。 商业上的优势——品牌flash的创造;公司企业的flash宣传;flash技术在电视的应用 它包含了下列常见的形式之一或者几种的组合:流媒体、声音、Flash、以及Java、Javascript、DHTML等程序设计语言。 用户在观看广告的时候,无法通过正常点击鼠标来查看广告的尺寸、字节数、所链接的URL广告本身信息。 Flash也支持alpha通道,这会使设计者高兴。没有太多的技术性,alpha通道是附加在图像上的信息 - 允许图像以不同的方式渲染。 矢量图形相对于位图的另一个优势是可以随意缩放的能力。这是对动画进程的奖赏,对用户来说也是一个很酷的特征。在Flash之前,Web上没有这种功能。 矢量图形相对于位图的另一个优势是可以随意缩放的能力。这是对动画进程的奖赏,对用户来说也是一个很酷的特征。在Flash之前,Web上没有这种功能。 广告本身无法看到网址链接,不利于网站本身的搜索引擎优化,对增加网站排行的权重没有意义。
页:
[1]