• 小游戏制作——打地鼠


                                                                                     打地鼠

    首先做好UI界面,然后在元件内部做好地鼠动的不见动画(就是地鼠网上出来的动画),最后拔一下代码粘贴到类文件中,即可。

    Main 类

    package
    {
     import flash.display.MovieClip;
     import flash.events.Event;
     import flash.events.EventDispatcher;
     public class MouseMove extends MovieClip
     {
      private var _mc:MovieClip;
      private var Y:Number;
      private var _distance:Number;
      private var FangXiang:Number = -1;
      public function MouseMove(target:MovieClip,distance):void
      {
       _mc = target;
       Y = _mc.y;
       _distance = Y - distance;
      }
      public function startMove():void
      {
       _mc.addEventListener(Event.ENTER_FRAME,moves);
      }
      private function moves(e:Event):void
      {
       var mc:MovieClip = e.target as MovieClip;
       var dis:Number = Math.abs(mc.y - _distance) + 0.2;
       mc.y +=  dis / 4 * FangXiang;
       if (mc.y <= _distance)
       {
        FangXiang = 1;
       }
       else if (FangXiang == 1 && mc.y >= Y)
       {
        mc.y = Y;
        FangXiang = -1;
        mc.removeEventListener(Event.ENTER_FRAME,moves);
        mc.dispatchEvent(new Event("moveover"));
       }
      }
     }
    }

    MouseMove 类

    package

    {

     import flash.display.MovieClip;

     import flash.events.Event;

     import flash.events.MouseEvent;

     import flash.events.TimerEvent;

     import flash.utils.Timer;

     import flash.text.TextField;

     public class Main extends MovieClip

     {  

     private var i:uint;  

     private var mc:MovieClip;

      private var score:uint;

      private var timer:Timer;

      private var time:uint;  

     private var totalTimes:uint = 60;

      private var clickState:Boolean;

      private var gameState:Boolean = true;

      private var button:AgainButton;

      public function Main():void

      {  

      stop();

       score_txt.mouseEnabled = false;  

      stage.frameRate = 60;  

      init();

      }  

     private function changes():void   

    {   

     if (gameState)  

      {     

        clickState = false;   

         i = uint(Math.random() * 18) + 1;   

         mc = this["mouse" + i + "_mc"].mc;

        var mousemove:MouseMove = new MouseMove(mc,80);

        mousemove.startMove();  

        mc.addEventListener("moveover",OnMoveOver);

        mc.addEventListener(MouseEvent.CLICK,OnPlayHandler);  

        mc.buttonMode = true;

       }  

      else

       {    

        timer.stop();

        gameOver();

       }  

     }  

     private function OnMoveOver(e:Event):void  

     {   

      mc.removeEventListener("moveover",OnMoveOver);  

      mc.removeEventListener(MouseEvent.CLICK,OnPlayHandler);  

      mc.buttonMode = false;

       changes();  

     }

      private function OnPlayHandler(e:Event):void

      {  

      if (clickState == false)  

      {  

       clickState = true;  

       score++;   

      score_txt.text = "得分:" + String(score);  

       mc.play();   

     }  

     }

      private function init():void   

    {  

      back.visible = false;  

      timer = new Timer(1000);  

      timer.start();

       timer.addEventListener(TimerEvent.TIMER,OnTimerHandler);  

      time = 0;  

      score = 0;

       score_txt.text =  "得分:" + String(score);  

      time_txt.text = "计时:" + String(time);

       button = new AgainButton();

       button.buttonMode = true;

       changes();

      }

      private function OnTimerHandler(e:TimerEvent):void  

     {   

       time++;

       time_txt.text = "计时:" + String(time);

       if (time >= 60)  

      {    

       gameState = false;  

       gotoAndStop(2);  

      }

      }

      private function gameOver():void  

     {   

     addChild(button);  

      back.visible = true;

       button.x = stage.stageWidth / 2;  

      button.y = stage.stageHeight / 2;  

      button.addEventListener(MouseEvent.CLICK,OnReStartHandler);  

     }

      private function OnReStartHandler(e:MouseEvent):void  

     {  

      gameState = true;   

     removeChild(button);  

      init();

      }

     }

    }

  • 相关阅读:
    Tensorflow2(预课程)---2.1、多层感知器-层方式
    pandas.Series转numpy的n维数组
    numpy将多维数组降维成一维
    《仙路争锋》读书感悟---200910(为逆所以顺,为玩所以勤,为生所以死)
    legend3---解决bootstrap栅格系统自动图片高度不齐问题
    python机器学习库numpy---15、模拟e^x的麦克劳林展开式
    400G 光模块的价格
    HTML编辑器 实现ctrl+v粘贴图片并上传、word粘贴带图片
    网页编辑器 实现ctrl+v粘贴图片并上传、word粘贴带图片
    富文本编辑器 实现ctrl+v粘贴图片并上传、word粘贴带图片
  • 原文地址:https://www.cnblogs.com/klh5211314/p/2763327.html
Copyright © 2020-2023  润新知