当前位置 - 股票行情交易網 - 企業服務 - 用FLASH 做壹個 小遊戲

用FLASH 做壹個 小遊戲

用As 3做的第壹個Flash最簡單的小遊戲2011-01-30 17:17:43| 分類: Actionscript 3.0 閱讀50 評論0 字號:大中小 訂閱

壹個長方形可以按A或者D左移右移,在遊戲開始會監聽鍵盤事件,圓形在舞臺下面往上跑,如果長方形碰到圓,遊戲結束,就這麽簡單。看代碼myGame.as,妳可以新建壹個Fla文件,然後以myGame.as為文檔類:

package {

import flash.display.MovieClip;

import flash.events.Event;

import flash.events.MouseEvent;

import flash.display.*;

import flash.events.*;

import flash.text.TextField;

public class myGame extends MovieClip{

public const State_init=1;

public const State_play=2;

public const State_over=3;

public var gamestate:uint=0;

public var success:uint=0;

public var fail:int=0;

public var player1:Sprite=new Sprite();

public var player2:Sprite=new Sprite();

public function myGame(){

player1.graphics.beginFill(0xFF0000);

player1.graphics.drawRect(100,100,20,10);

player1.graphics.endFill();

player2.graphics.beginFill(0);

player2.graphics.drawCircle(200,400,10);

player2.graphics.endFill();

stage.addChild(player1);

stage.addChild(player2);

//默認會初始化構造函數,添加監聽當前的遊戲狀態

stage.addEventListener(Event.ENTER_FRAME,gameloop);

//初始化遊戲狀態,要不gamestate=0;

gamestate=State_init;

// constructor code

}

public function gameloop(e:Event):void{

switch(gamestate) {

case State_init:

initGame();

break;

case State_play:

playGame();

break;

case State_over:

gameOver();

break;

}

}

public function initGame():void{

stage.addEventListener(KeyboardEvent.KEY_DOWN,action);

success=0;

fail=0;

gamestate=State_play;

}

public function action(e:KeyboardEvent):void{

if(e.keyCode==65){

trace(e.keyCode);

player1.x-=2;

}else if(e.keyCode==68){

player1.x+=2;

}

if(player1.hitTestObject(player2)){

gameOver();

trace("you win!");

}

}

public function playGame():void{

player2.y-=4;

}

public function gameOver():void{

stage.removeEventListener(KeyboardEvent.KEY_DOWN,action);

gamestate=0;

trace("game over");

}

}