zoukankan      html  css  js  c++  java
  • 小游戏制作——打地鼠

                                                                                     打地鼠

    首先做好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();

      }

     }

    }

  • 相关阅读:
    HDU 3336 Count the string(KMP+DP)
    PHP 错误与异常 笔记与总结(13 )自定义异常类
    数据分析中,你认为用户行为分析最重要的点是什么
    数据分析中,你认为用户行为分析最重要的点是什么
    如何进行大数据分析及处理_数据分析师
    如何进行大数据分析及处理_数据分析师
    大数据与传统数据的区别_数据分析师
    大数据与传统数据的区别_数据分析师
    数据分析师 之量化用户研究
    数据分析师 之量化用户研究
  • 原文地址:https://www.cnblogs.com/klh5211314/p/2763327.html
Copyright © 2011-2022 走看看