接水果游戏

//人物、背景图、水果都是发布的swc格式的

package
{
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.events.KeyboardEvent;
 import flash.events.TimerEvent;
 import flash.system.fscommand;
 import flash.text.TextField;
 import flash.utils.Timer;

 [SWF(width="800",height="600")]
 
 public class JieShuiGuo extends Sprite
 {
  private var beiJing:BeiJing;
  private var renWu:RenWu;
  private var shuiGuo:ShuiGuo;
  private var panDuan:String;
  private var timer:Timer;
  private var arr:Array=[];
  private var txt:TextField;
  private var jiFenQi:int=0;
  private var luoDi:int=0;
  public function JieShuiGuo()
  {
   loader();
   onevent();
   shuiGuoinit();
   txtinit();
   
  }
  
  private function txtinit():void
  {
   txt=new TextField;
   txt.text="积分器";
   txt.y=50;
   txt.x=700;
   stage.addChild(txt);
   
  }
  
  private function shuiGuoinit():void
  {
   timer=new Timer(1000);
   timer.addEventListener(TimerEvent.TIMER,onTimerhandler);
   timer.start();
  }
  
  protected function onTimerhandler(event:TimerEvent):void
  {
   shuiGuo=new ShuiGuo();
   shuiGuo.x=Math.random()*(800-shuiGuo.width);
   shuiGuo.y=-(shuiGuo.width/2 );
   shuiGuo.gotoAndPlay(uint(Math.random()*9));//设置水果的随即种类,水果有九帧每帧一个水果,每帧都停止
   arr.push(shuiGuo);
   addChild(shuiGuo); 
  }
  
  private function onevent():void
  {
   stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeydownHandler);
   stage.addEventListener(KeyboardEvent.KEY_UP,onKeyupHandler);
   stage.addEventListener(Event.ENTER_FRAME,oneventFrameHandler);  

  }
  
  protected function onKeyupHandler(event:KeyboardEvent):void
  {
    panDuan="停止"; //键盘抬起什么也不做 
  }
  
  protected function oneventFrameHandler(e:Event):void
  {
   if(panDuan=="左")
   {
    renWu.x-=10;
   }
   else if(panDuan=="右")
   {
    renWu.x+=10;
   }
   else if(panDuan=="停止")
   {
    
   }
   if(renWu.x<renWu.width/2)//不让renWu移出舞台的左边
   {
    renWu.x=renWu.width/2;
   }
   if(renWu.x>stage.stageWidth-renWu.width/2)//不让舞台移出舞台的右边
   {
    renWu.x=stage.stageWidth-renWu.width/2
   }
   
   for(var i:int=0;i<arr.length;i++)
   {
    arr[i].y+=3;
    if(arr[i].hitTestObject(renWu)==true)
    {
     removeChild(arr[i]);
     arr.splice(i,1);
     
     jiFenQi+=2;
     txt.text=String(jiFenQi)+"分";//积分器
     
    }
    if(arr[i].y>stage.stageHeight)
    {
     luoDi++;
     removeChild(arr[i]);
     arr.splice(i,1);
     if(luoDi>=10)
     {
      fscommand("quit");//如果失误10次则关闭播放器
     }
    }
   }
  }
  
  protected function onKeydownHandler(event:KeyboardEvent):void
  {
   if(event.keyCode==37)
   {
    panDuan="左";
   }
   else if(event.keyCode==39)
   {
    panDuan="右";
   }
  }
  
  private function loader():void
  {
   
   beiJing=new BeiJing();
   addChild(beiJing);
   beiJing.x = stage.stageWidth/2;//根据注册点调整背景图片的x坐标;
   beiJing.y = stage.stageHeight/2;//根据注册点调整图片的y坐标;
   
   renWu=new RenWu();
   addChild(renWu);
   renWu.x=stage.stageWidth/2;
   renWu.y=stage.stageHeight-renWu.height/2;
   
   
  }
 }
}

posted on 2012-10-09 23:23  笔墨丹青  阅读(727)  评论(0)    收藏  举报

导航