贪吃蛇的小游戏
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-11
点击浏览该文件 代码的说明在原文件里有,我就不帖出来了,不清楚可以问我 点击浏览该文件 这是其主要代码 head0.Direction=2;//初始化头的方向,在head0上有Diretion的控制函数 attach_egg=1;//是否导入蛋,控制导入的蛋只一个 egg_x=240;//初始化蛋的位置 egg_y=200; next_x=0;//初始下一段蛇的导入位置 next_y=0; score=0;//你的得分,同时也是蛇的长度 eat_self=false; function attachegg(x,y) {//导入蛋 attachMovie("egg","egg0",0);//新手注意了,egg0是链接名,不是实例名,也不是库里的名称 egg0._x=x; egg0._y=y; } function Move() { if(attach_egg==1) { attachegg(egg_x,egg_y); attach_egg=0; egg_x=random(26)*20;//取得蛋导入的随机位置,random将返回值为1到26,这是根据我设的边界而定的 egg_y=random(17)*20; } for(i=0;i<=score;++i) { mc=eval("head"+i); next_x=mc._x;//不断的得到下一段的蛇身调入位置 next_y=mc._y; front_x=mc._x;//记录当前一段蛇身的位置 front_y=mc._y; if(i!=0) {//蛇身的运动,其实就是前一段运动之前将其位置记下,再下一段运动到前一段刚才的位置,从而实现一条蛇的运动,这是一种运动方式.还有一种就是不断的记录每一段蛇的运动方向, mc._x=to_x; mc._y=to_y; }else { switch (head0.Direction) {//头的运动 case 1 : head0._y-=20; break; case 2: head0._x+=20; break; case 3: head0._y+=20; break; case 4: head0._x -=20; break; } } to_x=front_x;//下一段的蛇身将要运动到的位置 to_y=front_y; } if(head0._x==egg0._x && head0._y==egg0._y) {//当蛇吃到蛋的处理 attach_egg=1; score+=1; _root.attachMovie("snake","head"+score,score); mc=eval("head"+score); mc._x=next_x; mc._y=next_y; } for(i=1;i<=score && !eat_self;++i) {//当蛇吃到了自己,for的双条件循环 if(head0._x==eval("head"+i)._x && head0._y==eval("head"+i)._y) { eat_self=true; } } if (head0._y>340||head0._y<0||head0._x<0||head0._x>520||eat_self) {//游戏结束的条件(出界,蛇吃到了自己) for(i=1;i<=score;++i) { removeMovieClip("head" + i); } removeMovieClip("egg0"); _root.gotoAndPlay(4); clearInterval(showMove); } } showMove=setInterval(Move,1000-(hard-1)*100);//hard调节蛇的运动速度, 即调节难度 stop() 控制蛇的运动方向 onClipEvent(keyDown) {//当按下键时, if(Key.getCode()==38 && this.Direction!=3){//正在向下时,不能向下转,以下同理,38是向上的键盘按钮的对应的虚拟键码 this.Direction=1;//向上动 } if(Key.getCode()==39 && this.Direction!=4) { this.Direction=2;//向右动 } if(Key.getCode()==40 && this.Direction!=1) { this.Direction=3;//向下动 } if(Key.getCode()==37 && this.Direction!=2) { this.Direction=4;//向左动 } } 关键词: |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: AS轻松实现画多边形下一篇: 纷纷下落的小球
关于贪吃蛇的小游戏的所有评论