Flash制作空战游戏(3)

云下月亮

云下月亮

2016-01-29 13:33

Flash制作空战游戏(3),Flash制作空战游戏(3)
、代码控制

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fjc/)

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

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

  clean函数用来删除所有多余的影片剪辑,它的功能在第一次运行时没有作用,而在游戏运行后,“plane”的生命值为零时返回这一帧,如果没有clean函数,将出现无数个被复制的影片剪辑。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fjc/)

  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。

  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);

     }

  //当玩家按下上、下、左、右方向键时,飞机可以移动           

     if (Key.isDown(Key.down)and _y<400) {_y += speed; sy+=speed}
     if (Key.isDown(Key.up) and _y0) {_y -= speed; sy-=speed}
     if (Key.isDown(Key. right) and _X<550) {_x += speed;}
     if (Key.isDown(Key.left) and _X0) {_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; //敌机的飞行速度是一

展开更多 50%)
分享

猜你喜欢

Flash制作空战游戏(3)

flash教程
Flash制作空战游戏(3)

Flash制作空战游戏(4)

flash教程
Flash制作空战游戏(4)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Flash制作空战游戏(三)

flash教程
Flash制作空战游戏(三)

Flash制作空战游戏(2)

flash教程
Flash制作空战游戏(2)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Flash制作空战游戏(一)

flash教程
Flash制作空战游戏(一)

Flash制作空战游戏(二)

flash教程
Flash制作空战游戏(二)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

使用PHP实现动态网页

使用PHP实现动态网页

建立自己的RSS

建立自己的RSS
下拉加载更多内容 ↓