大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 网络媒体 -> FLASH -> Flash制作空战游戏(3)

Flash制作空战游戏(3)

时间: 2021-07-31 作者:daque

三、代码遏制

  1.回到主场景,把第一个图层更名为“start”,在第一帧中插入要害帧,帧动动作:

  function clean() {     for (i in _root) {         _root[i].removemovieclip();     }  }   _root.clean();   stop();

  clean因变量用来简略一切过剩的片子剪辑,它的功效在第一次运转时没有效率,而在游戏运转后,“plane”的人命值为零时归来这一帧,即使没有clean因变量,将展示多数个被复制的片子剪辑。

  2.把“start”按钮和“exit”按钮拖出场景中,“start”按钮的举措剧本为

  on(release){ //开释鼠标时加入第三帧,发端游戏     gotoandplay(3);   }

  “exit”按钮的举措剧本为

   on (release) { //开释鼠标时,退出游戏         fscommand("quit", "1");   }

  3.增添第二层,定名为“victor”,在该层第二帧中插入要害帧,在场景顶用笔墨东西写入“you win”,树立牌号为84,脸色为黄色。也插入“start”和“exit”按钮,举措剧本同上。

  4.增添第三层,定名为“action”,在该层第三帧插入要害帧,写入代码如次:

  enemynumber=5  //历次画面中展示五个仇敌    for(i=0;i<enemynumber;i++) { //即使画面中仇敌数小于五,则复制出仇敌的片子剪辑     duplicatemovieclip("enemy","new"+i,30+i)   }    life=100   //人命值为100  score=0;   //发端得分为 0  stop( );

  5.在该帧场景中增添两个静态文本框和两个动静文本框,用来表白人命值和得分。静态文本框内的实质辨别是“人命”和“得分”,第一个动静文本框命变量值为life,第二个动静文本框的变量值为score。

flash制作空战游戏(3)

  6.再减少两个图层,一个定名为 “plane”,一个定名为“enemy”,并辨别在第三帧插入要害帧。选中“plane”层的第三帧,把“plane”拖入,剪辑称呼为“ship”。选中“enemy”层的第三帧,把“enemy”和“ball”剪辑拖入,剪辑称呼辨别为“enemy”和“enemylaser”。

  右击“plane”剪辑,在举措面板里写入代码:

  onclipevent (load) {  //载时髦举行初始化    speed=6;    sy=_y;    ang=0;   } 

  onclipevent (enterframe) {     _y = sy + 4 * math.cos(ang+=0.092); //用cos函不妨是铁鸟有在空间飘荡的功效     c=_root . score;        //给c 变量赋值,复试状况为“0”     if(c>=500){         //即使c的值(得分)大于500,则成功中断游戏       _root.gotoandstop(2);     }                           if(_root.life<=0){       //即使人命值小于0,则从新发端游戏或退出       _root.gotoandstop(1);

     }

  //当玩家按下上、下、左、右目标键时,铁鸟不妨挪动           

flash制作空战游戏(3)

     if (key.isdown(key.down)and _y<400) {_y += speed; sy+=speed}     if (key.isdown(key.up) and _y>0) {_y -= speed; sy-=speed}     if (key.isdown(key. right) and _x<550) {_x += speed;}     if (key.isdown(key.left) and _x>0) {_x -= speed;}     if (key.isdown(key.space)) {//当按下空格键时,铁鸟交战,用了一个变量a,使每按一下空格发出一发炮弹,即使不树立这个变量,那么当按下空格键时,炮弹将贯串飞出。       if (!a) {      //即使a为false         shotcount++;          depth=(shotcount%100)+100         _root.attachmovie("laser", "sparo"+shotcount, depth); //attachmovie本领是从库市直接挪用复制片子剪辑“fire”,它的操作符为“laser”。         _root["sparo"+shotcount]._x = this._x+(_width-45)         _root["sparo"+shotcount]._y = this._y;  //复制出的“fire”剪辑的复试场所。         a = true;

        }      } else {a = false;}   } 

  7.右击“enemy”剪辑,在“举措”面板里树立代码

  onclipevent (load) {        sy=random (400)+10; //取随机数     function reset(){       ship1.gotoandstop(1);       speed=random(10)+2; //敌机的遨游速率是一个随机数       _y= random(300)+_height; //敌机的初始y坐标取随机数       _x= 550+_y;          _root.firepower=100 ;

     }     reset()   }

  onclipevent (enterframe) {    if(this.ship1._currentframe==1){ //敌机剪辑在第一帧      _y = sy + speed * math.cos(speed+=0.032); //敌机遨游时有浮动的功效      if(this.hittest(_root.ship)){ //即使该剪辑与战役机相撞         ship1.gotoandstop(2); //敌机爆裂         _root.ship.play();           _root.life-=10; //人命值减10      }      if(random(_root.firepower)+1==10){        count++;        depth=(count%100)+200;   //敌机遨游时发出炮弹        duplicatemovieclip(_root.enemylaser, "num"+count, depth);         //炮弹的初始坐标即是敌机暂时地方场所的坐标        _root["num"+count]._x=this._x-40        _root["num"+count]._y=this._y        }     }     _x-=speed     if(_x<-10) { reset()}

   }

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.