Egret白鹭引擎实例开发之密室逃生RoomRun(一)项目结构

根据Egret社区里的新手教程项目自己实现一遍

游戏源码素材下载:https://github.com/shenysun/RoomRun

引擎版本:5.2.6

游戏玩法:该游戏在1.5s内通过玩家点击操作寻找安全点,方可进入下一关,关卡无限,分数无限。

一、新建项目

打开Egret Launcher创建项目,按照下图填写

image.png

二、用Egret Wing打开项目,将素材拷贝到resource/assets目录下,打开default.res.json,将game资源拖到preload组下,项目默认的资源可以删除

image.png

三、打开源码,先看一下游戏代码的结构

image.png

四、创建全局常量类,有舞台宽度、高度,根据名字创建位图,根据名字获取纹理图精灵等

/**常用常量类 */
class GameConst {
    /**舞台宽度 */
	public static StageW:number;
    /**舞台高度 */
	public static StageH:number;

	/**根据名字创建位图 */
	public static CreateBitmapByName(name:string):egret.Bitmap {
		let texture:egret.Texture = RES.getRes(name);
		let bitmap:egret.Bitmap = new egret.Bitmap(texture);
		return bitmap;
	}
	/**
     * 根据name关键字创建一个Bitmap对象。此name 是根据TextureMerger 组合成的一张位图
     */
    public static createBitmapFromSheet(name:string, sheetName:string):egret.Bitmap {
        let texture:egret.Texture = RES.getRes(`${sheetName}_json.${name}`);
        let result:egret.Bitmap = new egret.Bitmap(texture);
        return result;
    }

    public static getTextureFromSheet(name:string, sheetName:string):egret.Texture {
        let result:egret.Texture = RES.getRes(`${sheetName}_json.${name}`);
        return result;
    }
    /**移除子类方法 */
    public static removeChild(child:egret.DisplayObject) {
        if(child && child.parent) {
            if((<any>child.parent).removeElement) {
                (<any>child.parent).removeElement(<any>(child));
            }
            else {
                child.parent.removeChild(child);
            }
        }
    }
}


发表评论

(必填)

(必填)

(以便回访)

博客已稳定运行: 访问量:167,435 views 网站备案号:闽ICP备17026396号-1