Flash游戏制作:贪食蛇
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-14
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" add j, getProperty("/snake", _x)); set("oldy" add j, getProperty("/snake", _y)); // 复制蛇身,蛇身的数目等于n duplicateMovieClip("/snake", "snake" add i, i); k = j; // 当第一个蛇身的位置与食物的位置相等时,分数加上9,蛇身个数加1,并转到第三帧。 if (Number(x) == Number(foodx) and Number(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",如图10所示: ? 图10 13.在图层layer1的第8帧添加如下as: // 调用数组"oldx"&j和"oldy"&j来跟第一个蛇身的位置比较,如果相等的话,则Game Over。 j = 1; while (Number(j)<NUMBER(N)) { if (x==get("oldx" add j) and y==get("oldy" add j)) { re = 1; } j = Number(j)+1; } j = k; if (Number(re) == 1) { gotoAndStop("lose"); } 14.最后的时间线如图11所示: 图11 15.到此为止,游戏中最关键的部分就完成了,最后就差主场景的布置了。 场景布置 1.最后回到主场景,我们在图层layer1的第2帧处插入一个关键帧,然后回到第一帧,在此帧我们输入一些游戏的提示信息,比如游戏的玩法,游戏的介绍等,然后把前面制作好的游戏开始按钮也拖放到合舞台中适的位置,如图12所示: ? 图12 2. 给第1关键帧加actioon:stop();,以便让游戏一开始停止在此帧,等待用户的响应。 3. 给第1关键帧中的游戏开始按钮添加action: on (release) { nextFrame(); } //按下开始按钮后,跳到下一帧开始游戏。 4.选中主场景的第2关键帧,将图库中的组件control拖到舞台上,同时将组件food和snake也拖到舞台上,并在properties属性面板中分别给这两对象命名为food和snake,如图13和图14所示: ? |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Flash 游戏制作:抢手棋下一篇: 商业flash设计经验谈
关于Flash游戏制作:贪食蛇的所有评论