【AS3代码】一个完整的游戏框架
2012-06-20 11:05
513 查看
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
public class Main extends Sprite
{
public static const STATE_INIT:int = 10;
public static const STATE_PLAY:int = 20;
public static const STATE_GAME_OVER:int = 30;
public var gameState:int = 0; //游戏状态
public var clicks:int = 0; //游戏点击次数
public function Main():void
{
init();
}
private function init():void
{
this.addEventListener(Event.ENTER_FRAME, gameLoop);
gameState = STATE_INIT;
}
public function gameLoop(e:Event):void
{
switch(gameState)
{
case STATE_INIT:
initGame();
break;
case STATE_PLAY:
playGame();
break;
case STATE_GAME_OVER:
gameOver();
break;
}
}
public function initGame():void
{
//初始化游戏,当按钮被点击后,点击次数归零,状态改为游戏开始
stage.addEventListener(MouseEvent.CLICK, onMouseClickEvent);
clicks = 0;
gameState = STATE_PLAY;
}
public function playGame():void
{
//若游戏被点击了10次,状态改为游戏结束
if(clicks >= 10)
{
gameState = STATE_GAME_OVER;
}
}
public function onMouseClickEvent(e:MouseEvent):void
{
clicks++; //游戏点击次数+1
trace("点击了" + clicks + "次游戏!");
}
public function gameOver():void
{
//注销游戏监听器
stage.removeEventListener(MouseEvent.CLICK, onMouseClickEvent);
gameState = STATE_INIT;
trace("游戏结束!");
}
}
}
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
public class Main extends Sprite
{
public static const STATE_INIT:int = 10;
public static const STATE_PLAY:int = 20;
public static const STATE_GAME_OVER:int = 30;
public var gameState:int = 0; //游戏状态
public var clicks:int = 0; //游戏点击次数
public function Main():void
{
init();
}
private function init():void
{
this.addEventListener(Event.ENTER_FRAME, gameLoop);
gameState = STATE_INIT;
}
public function gameLoop(e:Event):void
{
switch(gameState)
{
case STATE_INIT:
initGame();
break;
case STATE_PLAY:
playGame();
break;
case STATE_GAME_OVER:
gameOver();
break;
}
}
public function initGame():void
{
//初始化游戏,当按钮被点击后,点击次数归零,状态改为游戏开始
stage.addEventListener(MouseEvent.CLICK, onMouseClickEvent);
clicks = 0;
gameState = STATE_PLAY;
}
public function playGame():void
{
//若游戏被点击了10次,状态改为游戏结束
if(clicks >= 10)
{
gameState = STATE_GAME_OVER;
}
}
public function onMouseClickEvent(e:MouseEvent):void
{
clicks++; //游戏点击次数+1
trace("点击了" + clicks + "次游戏!");
}
public function gameOver():void
{
//注销游戏监听器
stage.removeEventListener(MouseEvent.CLICK, onMouseClickEvent);
gameState = STATE_INIT;
trace("游戏结束!");
}
}
}
相关文章推荐
- 策划入门(四)你的游戏建立起一个完整的主框架
- 12.9pygame游戏开发框架(9):完整游戏代码
- 分享一个完整程序的代码(消除类游戏)
- 一个函数5行代码即可实现完整的面向方面AOP编程功能
- 【Android游戏开发之四】基础的Android 游戏框架(一个游戏角色在屏幕行走的demo)
- 一个android游戏框架
- 一个简单的滑动门效果-完整代码
- 一个简单的游戏开发框架(七.动作Motion)
- 一个只有99行代码的JS流程框架(二)
- 25行AS3代码编程大赛的第一名!25行代码构造的AS3游戏
- 【Android游戏开发之四】Android 游戏框架(一个游戏角色在屏幕行走的demo)
- 一个简单的游戏服务器框架
- 一个简单的游戏服务器框架
- 一个C游戏(BoxMan)代码的分析
- 刚刚看到,原来一个小的游戏源码,也是上百行的代码组成的!
- HTML5画布游戏基础框架代码解析:屌丝追女神
- 【VC++游戏开发】用C++来架构一个适合windows游戏编程的框架——取名为BCF
- 安卓项目快速开发框架, MVP + Retrofit + RxJava,Activity 和 Fragment 结合 MVP 模式的完整封装,大大减少代码量
- 简单的实现一个类似于Cocos2dx的游戏框架——导演、场景、层、精灵(已填坑5%)
- 【Visual C++】游戏开发笔记十六 讲解一个完整的回合制游戏demo