不要踩白块使用(EgretEngine)Egret写的游戏游戏地址准备工作了解Egret引擎并安装编写工具安装游戏引擎安装EgretWing3创建项目创建项目选择不同版本的引擎。创建成功后,还可以查看API,设置发布。目录结构如下。代码主要存放在src文件中(egret引擎支持代码为typescript)。写代码的时候先说一下整体思路:就是把整个游戏进行细分。一个小格子就是一个模块,每一列就是一个大模块,整个游戏看成一个大模块,定时器看成一个模块,开始游戏和结束游戏分别看成一个模块。如图:废话不多说,openrollopenrollegret提供服务器服务egretstartserver-a-a表示监听文件并自动更新BoxGraphics//负责初始化小格子privateinit(){this.touchEnabled=真;this.width=GameData.getBoxWidth();this.height=GameData.getBoxHeight();this.addEventListener(egret.TouchEvent.TOUCH_BEGIN,this.click,this);}/***drawBox*绘制内容*/publicdrawBox(canTouch:boolean=false){this._canTouch=canTouch;这个。图形。清除();如果(canTouch){this.graphics.beginFill(0);}else{this.graphics.beginFill(0xffffff);}this.graphics.lineStyle(1,0);this.graphics.drawRect(0,0,GameData.getBoxWidth(),GameData.getBoxHeight());this.graphics.endFill();}/***click*当前框被点击后的响应事件*/privateclick(evt:egret.TouchEvent):void{this.graphics.clear();如果(this._canTouch){this.graphics.beginFill(0xcccccc);}else{this.graphics.beginFill(0xff0000);}吨his.graphics.lineStyle(1,0);this.graphics.drawRect(0,0,GameData.getBoxWidth(),GameData.getBoxHeight());this.graphics.endFill();变种事件:游戏事件;//无法点击,抛出错误事件if(!this._canTouch){event=newGameEvent(GameEvent.GAME_OVER);}else{event=newGameEvent(GameEvent.GAME_HIT);}this.dispatchEvent(事件);}GroupRect一行网格privateinit():void{this._boxs=[];//生成一行中的每个网格,并为每个网格添加相应的事件for(vari:number=0;i=GameData.getStageHeight()){//如果没有点击网格,游戏结束bundleif(!this._boxGroups[i].isHit){this.gameOver();返回;}//设置对应格子的位置if(i==0){this._boxGroups[i].y=this._boxGroups[4].y-GameData.getBoxHeight();}else{this._boxGroups[i].y=this._boxGroups[i-1].y-GameData.getBoxHeight();}this._boxGroups[i].create();}}}主入口文件/***初始化游戏函数*初始化游戏视图*初始化定时器*初始化开始|结束画布*添加事件监听器*/privateinit():void{this.gameview=newGameView();this.addChild(this.gameview);this.gameview.addEventListener(GameEvent.GAME_OVER,this.gameover,this);this.timer=newegret.Timer(20,0);this.timer.addEventListener(egret.TimerEvent.TIMER,this.timers,this);this.gameoverPanel=newGameOverPanel();这个.gameoverPanel.addEventListener(GameEvent.GAME_START,this.startgame,this);this.startgamePanel=newStartGamePanel();this.startgamePanel.addEventListener(GameEvent.GAME_START,this.startgame,this);this.addChild(this.startgamePanel);}//定义事件/***游戏结束*/privategameover(evt:GameEvent):void{this.timer.stop();this.gameoverPanel.update();this.addChild(this.gameoverPanel);/***开始游戏*重置游戏速度分数*移除游戏开始|结束画布*/privatestartgame(evt:GameEvent):void{GameData.speed=10;GameData.setScore(0);这个.gameview.startgame();如果(this.startgamePanel.parent){this.removeChild(this.startgamePanel);}if(this.gameoverPanel.parent){this.removeChild(this.gameoverPanel);}this.timer.start();}publishegretpublish官方文档的overgit地址到这里,关于游戏的相关介绍就基本结束了。如有错误或不准确的地方,请务必指正。非常感谢。如果喜欢或者启发,欢迎star,这也是对作者的鼓励。