Egret学习笔记 (Egret打飞机-2.开始游戏)

简介: Egret学习笔记 (Egret打飞机-2.开始游戏)

打开 Egret Wing,新建一个Egret游戏项目,然后删掉默认生成的createGameScene方法里面的东西

 

然后新建一个BeginScene.ts的文件,作为我们的游戏的第一个场景

class BeginScene extends egret.DisplayObjectContainer {
    public constructor() {
        super();
        this.addEventListener(egret.Event.ADDED_TO_STAGE, this.Init, this)
    }
    public Init() {
        let begin = new egret.TextField();
        begin.text = "Click Begin"
        begin.size = 50;
        this.addChild(begin)
        begin.x = (GameConfig.SceneW - begin.width) / 2;
        begin.y = GameConfig.SceneH/2;
    }
}

然后我们再Main.ts里面的createGameScene方法把这个场景添加到里面

/**
     * 创建游戏场景
     * Create a game scene
     */
    private createGameScene() 
    {
        /**
         * 添加开始场景
         */
        this.beginScene = new BeginScene();
        this.beginScene.width = GameConfig.SceneW;
        this.beginScene.width = GameConfig.SceneH;
        this.addChild(this.beginScene)
    }

然后点击Wing的调试按钮,这时候不出意外的话,模拟器中间上就会显示出Click Begin的字,(如果使用Chrome调试的话,那么最好切换到手机模式)

 

光秃秃的几个字看起来也有点尴尬,我们再来给当前场景弄一个背景层

再在src下新建一个文件 BgContent.ts 然后编写如下代码

/**
 * 背景
 */
class BgContent extends egret.DisplayObjectContainer {
    public constructor() {
        super();
        this.addEventListener(egret.Event.ADDED_TO_STAGE, this.Init, this)
    }
    public Init(): void {
        var shp: egret.Shape = new egret.Shape();
        shp.graphics.beginFill(0x000000, 1);   
        shp.graphics.drawRect(0, 0, GameConfig.SceneW, GameConfig.SceneH);
        shp.graphics.endFill();
        this.addChild(shp);
    }
}


这个背景层就是一个黑色的背景,如果需要自己加图片或者其他的样式,就直接在Init里面写自己的逻辑就行了

加上背景之后,我们再次把这个背景层添加到Main.ts里面

/**
     * 创建游戏场景
     * Create a game scene
     */
    private createGameScene() {
        /**
        * 添加背景层
        */
        var bg = new BgContent();
        bg.name = "bg";
        this.addChildAt(bg, 0)
        /**
         * 添加开始场景
         */
        this.beginScene = new BeginScene();
        this.beginScene.width = GameConfig.SceneW;
        this.beginScene.width = GameConfig.SceneH;
        this.addChild(this.beginScene)
    }


添加到场景的,egret给我们提供了addChildAtaddChild两个方法,前面一个是可以设置容器对象的深度,可以控制对象渲染的层级,比如显示到前面或者后面,后面一个方法,我的理解就是(先添加就先渲染,后添加就后渲染,后添加的就显示在前面)

然后再次点击调试按钮,运行我们的代码

然后开始界面就做好了。

好了,我也要睡觉去了,眼睛都有点疼了

 

目录
相关文章
Egret 碰撞检测总结
Egret 碰撞检测总结
91 0
|
容器
Egret学习笔记 (Egret打飞机-6.实现敌机飞起来)
Egret学习笔记 (Egret打飞机-6.实现敌机飞起来)
104 0
Egret学习笔记 (Egret打飞机-1.大致思路)   
Egret学习笔记 (Egret打飞机-1.大致思路)   
90 0
|
容器
Egret学习笔记 (Egret打飞机-5.实现子弹对象)
Egret学习笔记 (Egret打飞机-5.实现子弹对象)
114 0
Egret学习笔记 (Egret打飞机-7.实现敌机工厂)
Egret学习笔记 (Egret打飞机-7.实现敌机工厂)
100 0
|
容器
Egret学习笔记 (Egret打飞机-9.子弹对敌机和主角的碰撞)
Egret学习笔记 (Egret打飞机-9.子弹对敌机和主角的碰撞)
108 0
|
JavaScript 容器
Egret学习笔记 (Egret打飞机-4.添加主角飞机和实现飞行效果)
Egret学习笔记 (Egret打飞机-4.添加主角飞机和实现飞行效果)
101 0
Egret学习笔记 (Egret打飞机-3.实现背景循环滚动)
Egret学习笔记 (Egret打飞机-3.实现背景循环滚动)
133 0
Egret学习笔记 (Egret打飞机-8.敌机和主角飞机发射子弹)
Egret学习笔记 (Egret打飞机-8.敌机和主角飞机发射子弹)
74 0
|
图形学
egret连连看项目实战之四(异步加载进度条)
egret连连看项目实战之四(异步加载进度条)
egret连连看项目实战之四(异步加载进度条)