本人使用的是layabox ide 2.1版本。
首先創建一個空項目會發現左側默認生成一些文件夾以及一些文件。
.laya 文件夾中存放一些項目開發中到發佈需要的文件以及一些配置信息。
比如文件夾內的compile.js中33行就是設置項目文件的主入口。
bin文件夾內是項目輸出的文件,在編輯器上運行時,其實就是運行的bin文件夾下的html文件。
laya文件夾存放的是項目的資源文件
laya文件夾下的assets文件夾內是項目自帶的一套ui圖片
在創建場景後,laya文件夾下會生成的pages文件夾,用於存放使用編輯器創建的場景和頁面。
libs文件夾內存放的是編輯器代碼提示文件。
src內存放項目邏輯文件,內部創建一個空項目會默認生成兩個文件:Main.js和GameConfig.js
Main.js是入口文件,用於初始化一些場景內容
GameConfig.js是配置文件,裏面的配置用於初始化場景,用於Main.js
jsconfig.json爲整個項目的編譯配置,用於ts編譯,源碼貌似是用ts開發。、
test1.laya文件爲項目的入口,可以通過此文件識別是否爲一個laya項目,test1爲項目的名稱。
src文件
我們可以先看一下Main.js文件的內容,其實官方已經註釋的很明白了,我這裏又詳細了一下貼了出來
import GameConfig from "./GameConfig";
class Main {
constructor() {
//根據IDE設置初始化引擎 當前如果支持webgl則通過webgl來創建項目
if (window["Laya3D"]) Laya3D.init(GameConfig.width, GameConfig.height);
else Laya.init(GameConfig.width, GameConfig.height, Laya["WebGL"]);
Laya["Physics"] && Laya["Physics"].enable(); //是否開啓物理
Laya["DebugPanel"] && Laya["DebugPanel"].enable(); //是否開啓調試框
Laya.stage.scaleMode = GameConfig.scaleMode; //場景適配模式
Laya.stage.screenMode = GameConfig.screenMode; //場景橫豎屏
Laya.stage.alignV = GameConfig.alignV; //垂直對齊方式
Laya.stage.alignH = GameConfig.alignH; //水平對齊方式
//兼容微信不支持加載scene後綴場景
Laya.URL.exportSceneToJson = GameConfig.exportSceneToJson;
//打開調試面板(通過IDE設置調試模式,或者url地址增加debug=true參數,均可打開調試面板)
if (GameConfig.debug || Laya.Utils.getQueryString("debug") == "true") Laya.enableDebugPanel();
if (GameConfig.physicsDebug && Laya["PhysicsDebugDraw"]) Laya["PhysicsDebugDraw"].enable();
if (GameConfig.stat) Laya.Stat.show();
Laya.alertGlobalError = true;
//激活資源版本控制,version.json由IDE發佈功能自動生成,如果沒有也不影響後續流程
Laya.ResourceVersion.enable("version.json", Laya.Handler.create(this, this.onVersionLoaded), Laya.ResourceVersion.FILENAME_VERSION);
}
onVersionLoaded() {
//激活大小圖映射,加載小圖的時候,如果發現小圖在大圖合集裏面,則優先加載大圖合集,而不是小圖
Laya.AtlasInfoManager.enable("fileconfig.json", Laya.Handler.create(this, this.onConfigLoaded));
}
onConfigLoaded() {
//加載IDE指定的場景
GameConfig.startScene && Laya.Scene.open(GameConfig.startScene);
}
}
//激活啓動類
new Main();
可以看出,這個Main.js文件首先引入了GameConfig.js文件,然後通過引入的GameConfig.js文件內的配置進行初始化場景來添加數據。
GameConfig.js文件我們無法直接修改,需要在編輯器內進行修改,我們可以通過進入‘編輯模式’後,點擊F9來打開編輯框進行編輯。
打開項目設置,我們會發現當前的一些設置都是在設置場景的相關內容,比如初始場景,對應到Main.js裏面的GameConfig.startScene && Laya.Scene.open(GameConfig.startScene);
即如果這裏設置了,編輯的GameConfig.js的時候,將會在startScene 屬性上生成目標場景名稱。
接下來,列一下主要配置設置
設計寬高度,爲當前場景設計時的寬度和高度。
場景適配模式
取值範圍:
“noscale” :不縮放;
“exactfit” :全屏不等比縮放;
“showall” :最小比例縮放;
“noborder” :最大比例縮放;
“full” :不縮放,stage的寬高等於屏幕寬高;
“fixedwidth” :寬度不變,高度根據屏幕比縮放;
“fixedheight” :高度不變,寬度根據屏幕比縮放;
“fixedauto” :根據寬高比,自動選擇使用fixedwidth或fixedheight;
場景橫豎屏
取值範圍:
“none” :不更改屏幕
“horizontal” :自動橫屏
“vertical” :自動豎屏
垂直對齊方式
取值範圍:
“top” :居頂部對齊;
“middle” :居中對齊;
“bottom” :居底部對齊;
水平對齊方式
取值範圍:
“left” :居左對齊;
“center” :居中對齊;
“right” :居右對齊;