zoukankan      html  css  js  c++  java
  • 【AS3代码】一个完整的游戏框架

    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("游戏结束!");
            }
        }
    }
  • 相关阅读:
    【Nginx学习】安装及常用命令
    【Nginx学习】基础知识
    【Nginx学习】Xshell7连接CentOS7艰难轶事
    【LeetCode刷题】5343. 多次求和构造目标数组:妙解
    【LeetCode刷题】1353. 最多可以参加的会议数目
    【转载】priority_queue用法
    【LeetCode刷题】供暖器:妙解
    【妙解】重复的子字符串
    【转载学习】基金理财学习
    【转载】sync_with_stdio + cin.tie
  • 原文地址:https://www.cnblogs.com/kingfly/p/2555948.html
Copyright © 2011-2022 走看看