Egret之自定义类库(二)
  RlWeLU85QNwT 2023年11月02日 83 0

新版本的Egret制作的方法

我使用的版本为 : 5.0.9

步骤 : 一 : 新建一个类库项目 : egret create_lib xxxx 本人建了一个demoLib的类库

二 : 在生成的demoLib项目的根目录 , 查看文件 , 如下:

三 : 新建一个Egret游戏项目 : demoLib(这个是游戏的项目) , 我们在这个项目里面为类库编写需要的代码,如下:

四 : 在游戏项目demoLib中建TS文件

五 : 新建 demoLib.d.ts 在***类库项目***的src文件夹中

六 : 根据MyTestLib.ts 编写 demoLib.d.ts 文件如下

declare module demoLib{
	class  MyTestLib{
		/**
         * 打招呼
         * @param {string} $name 人物名字
         * @returns {string}
         */
		say( $name : string ) : string;
	}
}

七 : 编译demoLib游戏项目 , 在bin-debug 将MyTestLib.js考入到demoLib类库项目**的src文件夹中

八 : 编译(类库项目)tsconfig.json文件如下:

{
	"compilerOptions": {
		"target": "es5",
		"outFile": "bin/demoLib.js",
		"allowJs":true,
		"removeComments": true
	},
	"include": [
		"src/MyTestLib.js"
	]
}

九: 编译(类库项目) package.json文件如下:

{
	"name": "demoLib",
	"compilerVersion": "5.2.6",
	"typings": "src/demoLib.d.ts"
}

十 : 编译类库项目:

测试 : 创建一个新的Egret游戏项目 并且 引入demoLib类库 , 修改Main.ts的createGameScene方法如下

    /**
     * 创建游戏场景
     * Create a game scene
     */
    private createGameScene() {
        let $demo : demoLib.MyTestLib = new demoLib.MyTestLib();
        let $say : string = $demo.say("Aonaufly");
        egret.log( $say );
    }

结果:

//////////////////////////////////////////////////////////
 // <b style="color:red">
 // Egret主要的类库,需要有Data_sets_lib库的支持
 // 作者Bolg : https://blog.51cto.com/aonaufly
 // 作者Email : Aonaufly@126.com
 // </b>
 // @author Aonaufly
 //
///////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

新版制作

tsconfig.json的配置如下

{
	"compilerOptions": {
		"target": "es5",
		"outFile": "bin/mainLib.js",
		"noImplicitAny": false,
		"declaration": true,  
		"removeComments": false,
		"private": false,
		"lib": [
            "es6",
            "dom",
            "es2015.promise"
        ],
		"types": []
	},
	"include": [
		"src"
	]
}

在src中直接放置 ts代码

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  RlWeLU85QNwT   2023年11月02日   33   0   0 属性绑定Egret
  RlWeLU85QNwT   2023年11月02日   44   0   0 Eui.ButtonEgret
  RlWeLU85QNwT   2023年11月02日   42   0   0 webpEgret
  RlWeLU85QNwT   2023年11月02日   42   0   0 ScrollerEgret
  RlWeLU85QNwT   2023年11月02日   44   0   0 WebStormEgret
  RlWeLU85QNwT   2023年11月02日   45   0   0 加压EgretJSZip
  RlWeLU85QNwT   2023年11月02日   68   0   0 EgretJSZip
  RlWeLU85QNwT   2023年11月02日   50   0   0 粒子Egret
  RlWeLU85QNwT   2023年11月02日   45   0   0 MCEgret
  RlWeLU85QNwT   2023年11月02日   72   0   0 龙骨换装Egret
RlWeLU85QNwT