一个抄袭FlexLite抄的连自己思想都没有,别人精髓都不懂的垃圾框架.也不学学MornUI,好歹有点自己想法. 先来个最小可用集合吧: 1. egret create legogame --type gui.生成一个带gui的项目. 2. 用webstorm打开这个傻逼项目. 3. 修改theme.thm: { "skins": { "egret.gui.Button":"skins.simple.ButtonSkin" } } 4. 修改re…
打开 Egret Wing,新建一个Egret游戏项目,然后删掉默认生成的createGameScene方法里面的东西 然后新建一个BeginScene.ts的文件,作为我们的游戏的第一个场景 class BeginScene extends egret.DisplayObjectContainer { public constructor() { super(); this.addEventListener(egret.Event.ADDED_TO_STAGE, this.Init, this…
在游戏过程之,敌机是源源不断的冲屏幕上方往下飞,如果我们每一架敌机都直接new的话,在飞机很多的情况下,也许有性能问题. 就像前面子弹对象池一样,我们也要实现一个飞机对象池,也就是标题说的敌机工厂(之所以叫工厂,我觉得飞机是从工厂里面生产出来的,没有飞机冲池子里面捞出来吧...所以叫工厂.当然叫敌机对象池也没啥问题) 新建一个EnemyFactory.ts文件 class EnemyFactory extends egret.DisplayObjectContainer { _timer: eg…
有了子弹,总得有敌人来打吧,不然游戏有啥意思呢?今天我们来实现敌机从屏幕上边往下飞 参考微信打飞机游戏里面,敌机分为3种 1是特小飞机,2是小飞机,还有一种就是大飞机 面向对象编程提倡抽象,实现代码复用的目的.所以我们打算把飞机的相同的点都抽象到飞机基类里面. 新建一个文件EnemyPlane.ts,敌机类,以后我们所有的飞机,都从这个类来扩展 class EnemyPlane extends egret.DisplayObjectContainer { _enemy: egret.Bitmap…
上一章把飞机添加到屏幕上,但是飞机要发射子弹对吧?那么这一章我们就来实现一下发射子弹,并实现一个简单的子弹对象池 先来捋一捋思路 1.创建一个子弹对象 2.然后添加一个bitmap,显示子弹贴图 3.判断子弹类型(我们这里是一个子弹是敌人和主角都在使用,根据不同的状态类型,显示不同的图和往不同的方向飞行) 4.子弹回收(回收子弹的意思就是把子弹状态还原,并且从界面中移除) 5.子弹对象池的设计(综合上面四点,设计一个简单的对象池) 6.主角发射子弹 首先,我们先新建一个IdentityType.…
今天继续写点击了开始之后,添加一个飞机到场景中,然后这个飞机的尾巴还在冒火的那种感觉 先拆解一下步骤 1.首先完成飞机容器的图片加载 2.然后把容器添加到场景中 3.然后实现动画 -首先,我们新建一个TypeScript的类叫做HeroObject,英雄对象,哈哈,我命名水平不怎么高.然后继承自egret.DisplayObjectContainer class HeroObject extends egret.DisplayObjectContainer { _textures: egret.…
游戏背景里面的猪脚飞机看起来是一直在向前飞,但是实际上只是一个视觉差而已. 猪脚是出于不动的状态,背景从上到下滚动,然后让玩家觉得飞机在不停的往前飞.(当然这只是其中一种实现思路) 差不多就是这样,然后两张图片一直滚动,上面的图,滚动到最底下,马上又跑到最上面去,一直循环,就有了一个滚动的效果 然后我导入了一张背景图 然后重新打开我们的BgContent.ts文件,把里面的黑色背景的代码×掉,然后改为 bgbitmap1: egret.Bitmap; bgbitmap2: egret.Bitma…
ui方面: <e:Scroller verticalScrollPolicy="auto" width="468" height="620" x="6" y="110"> <e:Group id="messageGroup"> <e:Label id="message_area" width="468" height=…
本篇将主要讲解游戏界面的构建和设计,会应用到egret.eui的自定义组件,可以很直观的构建一个游戏整体,这里我们仍然只需要使用EgretWing就可以达到目的,本篇可能是篇幅最少的一个,但是涉及自定义组件和类继承,希望能够读者能够看明白,这对将来的游戏开发的思维帮助非常大. 自定义控件布局 首先先创建一个名为SceneGameSkin的exml皮肤,直接在这里面拖拖拽拽拼出初步的界面: 上面是题目区,下面是回答区,此时,找了了一下资源,发现字的方块没有放进资源文件,没关系,我们可以直接使用eu…
循环调用.只能设置boolean,不能设置循环次数. egret.Tween.).call(()=>{ console.log("循环调用"); }) 每次改变时,调用onChange函数.发现Tween默认调用时间是20ms左右一次. protected startCreateScene(): void { egret.Tween.},); } ; private onChange(){ var now = egret.getTimer(); console.log(now-…