網路教學(e-Learning)校園社群(e-Community)服務台(e-Service)系所班網(e-Class)登入
2012.9.25道具獲取(定點隨機+轉向)
by 高鈺婷 2012-09-25 14:28:38, 回應(0), 人氣(451)

import flash.events.Event;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.events.KeyboardEvent;

var meat:MovieClip;
var num:int;
var pre:int;
var s:int = 0;

create();
function create()
{
 meat = new mt();
 
 do
 {
   num = Math.floor(Math.random()*4) + 1;
 } while(num == pre);
 
 meat.x = this["pos" + num].x;
 meat.y = this["pos" + num].y;
 
 pre = num;
 
 stage.addChild(meat);
 stage.setChildIndex(meat,0);
 stage.addEventListener(Event.ENTER_FRAME,pick);
 
}
 function pick(e:Event)
 {
  if (player.hitTestObject(meat))
  {
   s += 100;
   score.text = String(s);
   meat.play();
   stage.removeEventListener(Event.ENTER_FRAME,pick);
   create();
  }
 }

var spd = 8;
var State:String = "";
var mTimer:Timer = new Timer(50,0);

mTimer.addEventListener(TimerEvent.TIMER,mov);
function mov(e:TimerEvent)
{
 switch(State)
 {
  case "up":player.y -= spd;break;
  case "down":player.y += spd;break;
  case "left":player.x -= spd;break;
  case "right":player.x += spd;break;
 }
}

stage.addEventListener(KeyboardEvent.KEY_DOWN,walk);
function walk(e:KeyboardEvent)
{
 switch(e.keyCode)
 {
  case 37:
      if (State != "left")
   State = "left";
   player.gotoAndPlay("Left");
   mTimer.start();
   break;
  case 38:
      if(State != "up")
   State = "up"; 
   player.gotoAndPlay("Up");
   mTimer.start();break;
  case 39:
      if (State != "right")
   State = "right"; 
   player.gotoAndPlay("Right");
   mTimer.start();
   break;
  case 40:
      if(State != "down")
   State = "down";
   player.gotoAndPlay("Down");
   mTimer.start();
 }
}
stage.addEventListener(KeyboardEvent.KEY_UP,stay)
function stay(e:KeyboardEvent)
{
 State = "";
 player.gotoAndStop(1);
 mTimer.stop();
}