打开 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 = ; this.addChild(begin)
begin.x = (GameConfig.SceneW - begin.width) / ;
begin.y = GameConfig.SceneH/;
}
}

然后我们再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, );
shp.graphics.drawRect(, , 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, )
/**
* 添加开始场景
*/
this.beginScene = new BeginScene();
this.beginScene.width = GameConfig.SceneW;
this.beginScene.width = GameConfig.SceneH;
this.addChild(this.beginScene) }

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

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

然后开始界面就做好了。

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

Egret学习笔记 (Egret打飞机-2.开始游戏)的更多相关文章

  1. Egret学习笔记 (Egret打飞机-5.实现子弹对象)

    上一章把飞机添加到屏幕上,但是飞机要发射子弹对吧?那么这一章我们就来实现一下发射子弹,并实现一个简单的子弹对象池 先来捋一捋思路 1.创建一个子弹对象 2.然后添加一个bitmap,显示子弹贴图 3. ...

  2. Egret学习笔记 (Egret打飞机-1.大致思路)

    大致看了一遍Egret的官方文档,就开始打算使用Egret来开发一个打飞机游戏. 首先来捋一捋思路,先来看一看一个打飞机游戏的图片 基本上一个打飞机游戏分为 开始游戏   ----------进入游戏 ...

  3. Egret学习笔记 (Egret打飞机-7.实现敌机工厂)

    在游戏过程之,敌机是源源不断的冲屏幕上方往下飞,如果我们每一架敌机都直接new的话,在飞机很多的情况下,也许有性能问题. 就像前面子弹对象池一样,我们也要实现一个飞机对象池,也就是标题说的敌机工厂(之 ...

  4. Egret学习笔记 (Egret打飞机-6.实现敌机飞起来)

    有了子弹,总得有敌人来打吧,不然游戏有啥意思呢?今天我们来实现敌机从屏幕上边往下飞 参考微信打飞机游戏里面,敌机分为3种 1是特小飞机,2是小飞机,还有一种就是大飞机 面向对象编程提倡抽象,实现代码复 ...

  5. Egret学习笔记 (Egret打飞机-4.添加主角飞机和实现飞行效果)

    今天继续写点击了开始之后,添加一个飞机到场景中,然后这个飞机的尾巴还在冒火的那种感觉 先拆解一下步骤 1.首先完成飞机容器的图片加载 2.然后把容器添加到场景中 3.然后实现动画 -首先,我们新建一个 ...

  6. Egret学习笔记 (Egret打飞机-3.实现背景循环滚动)

    游戏背景里面的猪脚飞机看起来是一直在向前飞,但是实际上只是一个视觉差而已. 猪脚是出于不动的状态,背景从上到下滚动,然后让玩家觉得飞机在不停的往前飞.(当然这只是其中一种实现思路) 差不多就是这样,然 ...

  7. Egret学习笔记 (Egret打飞机-9.子弹对敌机和主角的碰撞)

    运行起来,虽然主角飞机和敌机都在互相发射子弹,但是子弹打中了就和没打中效果是一样的.. 这一章我们就来处理子弹和飞机的碰撞问题. 我们所有的操作都是基于Main这个容器来做的.所以我就把这个处理放到M ...

  8. Egret学习笔记 (Egret打飞机-8.敌机和主角飞机发射子弹)

    经过前面几章的准备,我们差不多已经具备了一个基本的框架,这一章我们就开始添砖加瓦了. 敌机定时发射一个子弹,子弹的方向是从上到下,但是发射子弹的代码应该放在哪儿呢? 从面向对象编程的思想来说,子弹是敌 ...

  9. Egret学习笔记.1 (写在前面的废话)

    我记得之前谁说过,大部分程序员入行,都是因为小的时候的游戏机啊,各种电子设备啊....觉得有意思,才入的行 . 至少我本人是因为之前上高中那会儿,喜欢玩手机.那会儿还是MTK,塞班的时代,喜欢拿着手机 ...

随机推荐

  1. apache访问日志分析[转]

    当前WEB服务器中联接次数最多的ip地址 #netstat -ntu |awk '{print $5}' |sort | uniq -c| sort -nr 查看日志中访问次数最多的前10个IP #c ...

  2. xen虚拟机(Centos6.6)的创建和扩容

    好久没来更博了,从这篇开始,我准备好好梳理一下Hadoop的那些"事".本人技术渣一枚,只是本着知识共享的原则,希望将我所掌握的知识分享出来.若文中有错误的地方,欢迎大家告知我,我 ...

  3. MongoDB投影有$slice如何只显示该字段

    简单的投影 稍微用过MongoDB的都知道,投影很简单,就直接 db.student.find({_id:ObjectId('5a5085aed8f10c1a6cc0395b')},{comments ...

  4. Newtonsoft.Json 版本冲突时解决方案

    如果同一项目中不同第三方类库分别使用了不同版本的Newtonsoft.Json的情况下,可以在主项目配置文件中添加以下节点,将0.0.0.0-11.0.0.0此区间的Newtonsoft.Json使用 ...

  5. tp5命令行基础

    命令行工具需要在命令行下面执行,请先确保你的php.exe已经加入了系统环境变量Path. 要执行命令,首先进入命令行,并切换当前目录到应用的根目录(也就是think文件所在目录)下面,执行: php ...

  6. tomcat无法打开8080页面

    tomcat已启动 app已经正常执行 但不能打开8080管理页面 可能是在webapps目录下没有ROOT目录

  7. CSS中的选择器之html选择器和伪类选择器

    1.html选择器(标签选择器) 基本语法: html标签名称{ 属性名:属性值; 属性名:属性值; } 继续在上面的代码中做修改,实例代码: <!DOCTYPE html> <ht ...

  8. 使用xUnit为.net core程序进行单元测试(3)

    第1部分: http://www.cnblogs.com/cgzl/p/8283610.html 第2部分: http://www.cnblogs.com/cgzl/p/8287588.html 请使 ...

  9. Numpy基础学习

    Numpy(Numerical Python的简称)是高性能科学计算和数据分析的基础包. 主要的功能: 1.ndarray,一个具有矢量运算和复杂广播工能的快速且节省空间的多维数组 2.用于对整组数据 ...

  10. ZooKeeper安装(Windows)

    概述 ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.名字服务.分布式同步.组服务等.ZooKeeper的目标就是封装好复杂易出错的关 ...