타사 라이브러리의 백로 생산

 

내용 :

타사 라이브러리 만들기

두 타이프 라이터 라이브러리

세 가지 자바 스크립트 라이브러리

RPG에서 대규모 실용적인 응용 프로그램에서 생성 된 포 서드 파티 라이브러리

 

참조 :

타사 라이브러리를 사용하여

목표 :

이 논문의 목적은 컴파일 시간 감소, 기존 게임 타사 라이브러리의 프레임 워크에 이루어진다. 나는 가독성을 감소, 소스 코드를보고 다른 사람을 원하지 않는다.

 

타사 라이브러리 만들기

어떤 폴더에서, 내가 여기 테스트, 변화 + 권리가 폴더를 만들 명령 줄 창을 열고 다음을 입력

백로 create_lib 데모

 

 데모 폴더를 생성합니다 테스트 폴더에서, 그리고 tsconfig.json 파일이 package.json된다

 

src 폴더, 빈, typings, libs와 폴더의 새로운 데모.

 

 

 두 타이프 라이터 라이브러리

방법은 타사 라이브러리 문서 .TS을 사용하는 것입니다

내가 사용하는 여러 수준의 관리 프레임 워크를 보냈다 src 폴더로 TS 파일. 테스트 용으로 장면 등 관리 계층 관리, 사고 관리.

 pagckage.json 수정

{ 
	"이름", "데모"               
	"COMPILERVERSION을": "5.2.22"   
}

  

tsconfig.json 파일을 수정

{ 
	"CompilerOptions": { 
		"대상": "ES5를", 
		"noImplicitAny"거짓, 
		"sourceMap"거짓, 
		"선언"라이브러리가 타이프 true로 설정되어있는 경우, .d.ts 파일을 생성 할 // 여부, 사실, 자바 스크립트 라이브러리는 false로 설정하면 
		"빈 / demo.js": "를 OUTFILE" 
		"allowJs"컴파일러의 js 파일을 허용할지 여부 // false입니다. 자바 스크립트 라이브러리가 true로 설정되어있는 경우 타이프 라이터 라이브러리, false로 설정하면 
	}, 
	"파일"은 [// libs와 관리 클래스가, 백로 EUI을 사용하기 때문에 의존 백로 라이브러리, 당신은, .d.ts 파일을 사용할 수 있습니다. 무대 등등. 
		"libs와 / egret.d.ts", 
		"libs와 / eui.d.ts", 
		"SRC / BaseSingleClass.ts", 
		"SRC / LayerManager.ts", 
		"SRC / EventManager.ts", 
		"SRC / BaseScene.ts "

 

대신 파일의 직접 사용의 포함 할 수있다

{ 
	"compilerOptions": { 
		"대상": "ES5", 
		"noImplicitAny"거짓, 
		"sourceMap"거짓, 
		"선언"사실, 
		"OUTFILE": "빈 / demo.js", 
		"allowJs"거짓 
	} , 
	
	"포함": [ "SRC", "libs와"] 
}

  

커맨드 라인 입력

백로 빌드 데모

 

 

그것은 bin 폴더에 다음의 서류를 생성

 

이 타사 라이브러리를 사용하는 프로젝트라는 새로운 프로젝트를, 백로

 

 EgretProperties.json 프로젝트 파일을 수정하고, 타사 라이브러리에 대한 참조를 추가하고 엔진 일단 컴파일.

 

나는 성공적으로 내 보낸 코드에 쓴 개의 EventManager 이벤트 클래스 사용 "트리거 이벤트를." 대표 타사 라이브러리는 일반적으로 사용할 수 있습니다.

    protected createGameScene(): void {
        EventMananger.getInstance().addEvent("test", this.onTestHandler, this);  //监听test事件
        EventMananger.getInstance().sendEvent("test");                           //派发test事件
    }

    public onTestHandler(){
        console.log("触发事件");  //打印触发事件
    }

  

 

 三 JavaScript库

该方法是将.js文件制作成第三方库

这里我们直接使用上文中导出的demo.js和demo.d.ts做为例子

将demo.js放到src目录下

将demo.d.ts放到typings目录下

 

修改package.json文件

{
	"name": "demo222",
	"compilerVersion": "5.2.22",
	"typings":"typings/demo.d.ts"
}

  

 修改tsconfig.json文件

{
	"compilerOptions": {
		"target": "es5",
		"noImplicitAny": false,
		"sourceMap": false,
		"declaration": false,       //false  不生成.d.ts文件
		"outFile": "bin/demo.js",   
		"allowJs": true             //true  允许编译js文件
	},
	
	"include":["src","libs"]
}

  

 命令行输入

egret build demo

 

bin文件夹下生成

 

 

 第三方库使用方法同上文,这里不再说了。

 

 

四 第三方库制作在大型RPG中的实际应用

这里我找了个传奇游戏的源码,因为源码比较早,所以它的第三方库的制作是旧版。但是原理还是一样的,我们看一下第三方库的制作在大型rpg中的应用。

 

项目中,游戏每一个模块modules,都被制作成了一个第三方库,如下图:

 

 第三方库制作后,.d.ts和js和min.js文件被放在了libs目录下,并在index.html中被引用。

 

 

 

추천

출처www.cnblogs.com/gamedaybyday/p/11300853.html