内容:
サードパーティ製のライブラリを作成します
二つの活字体ライブラリー
三つのJavaScriptライブラリ
RPGでの大規模な実用的なアプリケーションで生産四サードパーティのライブラリ
参考:
目標:
本稿の目的は、コンパイル時間を短縮し、既存のゲームサードパーティのライブラリのフレームワークに行われます。私は読みやすさを減らし、ソースコードを見て他の人を望んでいません。
サードパーティ製のライブラリを作成します
任意のフォルダには、私はここでのテスト、シフト+右を持っているフォルダを作成し、コマンド・ライン・ウィンドウを開き、タイプ
白鷺create_libデモ
でテストフォルダがデモフォルダが生成され、package.jsonとtsconfig.jsonファイルがあります
srcフォルダ、ビン、タイピング、LIBSのフォルダに新しいデモ。
二つの活字体ライブラリー
この方法は、サードパーティのライブラリのドキュメント.TSを使用することです
私が使用されるいくつかのクラスの管理フレームワークを過ごしsrcフォルダ内へのTSファイル。シーン管理、レイヤ管理、インシデント管理などテストとして。
pagckage.jsonを変更
{ "名前": "デモ"、 "COMPILERVERSION": "5.2.22" }
tsconfig.jsonファイルを変更します
{ "CompilerOptions":{ "ターゲット": "ES5"、 "noImplicitAny":偽、 "sourceMap":偽、 "宣言":真、// .d.tsファイルを生成するかどうか、ライブラリーがtrueに設定さtypescriptですであれば、 JavaScriptライブラリがfalseに設定されている場合は 、「ビン/ demo.js」、「てoutFile」 「allowJs」://偽コンパイラのjsファイルを許可するかどうか。typescriptですライブラリがfalseに設定されている場合はJavaScriptライブラリがtrueに設定されている場合、 }、 「ファイル」:[// 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中被引用。