三个重点:状态循环、游戏频率、事件模型。
//状态循环
public function gameLoop(e:Event):void{
switch(gameState){
case STATE_INIT: initGame();
break;
case STATE_PLAY: playGame();
break;
case STATE_GAME_OVER: endGame();
break;
}
}
//游戏频率,注意ENTER_FRAME 关键是“帧频”
public function Game(){ //类Game的构造函数
addEventListener(Event.ENTER_FRAME,gameLoop);
gameState = STATE_INIT;
}
//事件模型
public function initGame():void{
stage.addEventListener(MouseEvent.CLICK,onMouseEventHandler);
clicks=0;
gameState = STATE_PLAY;
}
public function playGame(){
if(clicks>=10){
gameState = STATE_GAME_OVER;
}
}
public function onMouseEventHandler(e:MouseEvent){
clicks++;
}
完整的示例代码如下:
本文介绍了一个简单的游戏状态管理及事件处理机制实现案例。通过状态循环、游戏频率设定及事件模型来控制游戏的不同阶段,如初始化、进行中和结束等状态。利用ActionScript 3.0展示了如何响应用户的点击事件并更新游戏状态。
2922

被折叠的 条评论
为什么被折叠?



