Layabox新建文件
步驟一:選中bin右鍵單擊碗淌,然后左鍵點(diǎn)擊“新建文件”系瓢,在bin目錄下建立一個(gè)HelloLaya.js的文件浮庐。
步驟二:按建步驟一的方式弹惦,還在bin目錄下,修改index.html的文件喉恋,
步驟三:準(zhǔn)備工作完成后沃饶,就可以編碼了母廷,我們打開bin目錄下的HelloLaya.js,開始編寫如下代碼:
編寫代碼
點(diǎn)點(diǎn)文字糊肤,文字會(huì)往下移動(dòng):
Laya.MiniAdpter.init();//初始化引擎
Laya.init(600,400); //初始化琴昆,創(chuàng)建一個(gè)舞臺(tái)
Laya.stage.bgColor='#00aaff'; //修改背景色
var txt=new Laya.Text(); //創(chuàng)建文字對(duì)象
txt.text='帶我飛!馆揉!'; //定義文字對(duì)象的內(nèi)容
txt.fontSize=35; //設(shè)定文本大小
txt.color='#ff1900'; //文本顏色
txt.x=50; //文本X位置
txt.y=100; //Y位置
Laya.stage.addChild(txt); //為舞臺(tái)(stage)添加上你創(chuàng)建的這個(gè)小文本
txt.on('click',this,function(){ //點(diǎn)擊事件业舍,和JS的on事件一樣,寫在點(diǎn)它它會(huì)撒驕升酣!
if(txt.y>=300)
{
txt.text='我跳O夏骸!';
txt.y = 100; //坐標(biāo)回到最初位置
}
else
{
txt.text='點(diǎn)我X选下面!';
txt.y+=20; //坐標(biāo)往下移
}
});
步驟四:編碼完成后,按F5調(diào)試绩聘,在彈出的頁面里沥割,我們可以看到代碼的運(yùn)行結(jié)果,如下圖所示
發(fā)布
點(diǎn)擊發(fā)布快捷鍵凿菩,如下圖所示:
微信開發(fā)者工具
點(diǎn)擊預(yù)覽机杜,若提示文件超過4M,則刪除3D文件蓄髓,先完成一個(gè)超小游戲DEMO叉庐,
后期補(bǔ)充超過4M的解決方案舒帮。
使用微信掃預(yù)覽生成的二維碼会喝,即可看到我們做好的小游戲了~!
微信小游戲4M本地包的使用
通常我們開發(fā)項(xiàng)目的時(shí)候玩郊,會(huì)直接使用本地路徑肢执,比如示例中引用的就是本地路徑,
Laya.Texture2D.load("res/layabox.png");
如果項(xiàng)目的目錄中译红,全部大小加起來不超過4M的話预茄,只要能找到本地的資源,怎么寫也沒問題侦厚。
但是耻陕,
微信小游戲的本地包有4M的限制,一旦超過這個(gè)限制刨沦,那就不允許上傳诗宣,不允許真機(jī)預(yù)覽。
所以想诅,我們的項(xiàng)目要是大于4M后召庞,怎么處理呢岛心?
要進(jìn)行資源目錄的規(guī)劃,分為本地加載與網(wǎng)絡(luò)動(dòng)態(tài)加載篮灼,兩種模式結(jié)合使用忘古。
本地加載的規(guī)劃里,我們除了入口文件和必用的配置文件外诅诱,只放一些預(yù)加載必用的素材髓堪,比如加載進(jìn)度(Loading)頁用到的背景與圖形等∧锏矗總之旦袋,就是不能超過4M。
Tips:需要提醒注意的是微信小游戲不允許動(dòng)態(tài)加載創(chuàng)建JS它改,所以疤孕,JS必須要放在4M包里,也就是說JS加上基礎(chǔ)配置文件必須要小于4M央拖,項(xiàng)目適配時(shí)如果超過4M祭阀,要進(jìn)行優(yōu)化控制。
網(wǎng)絡(luò)動(dòng)態(tài)加載的路徑怎么處理呢鲜戒。在本地加載的load()方法之后使用URL.basePath方法专控。
例如:
material.diffuseTexture = Laya.Texture2D.load("res/layabox.png");
box.meshRender.material = material;
Laya.URL.basePath = "https://XXXX.com";//請(qǐng)把XXXX換成自己的真實(shí)網(wǎng)址;
//在此之下遏餐,再使用load加載資源伦腐,都會(huì)自動(dòng)加入U(xiǎn)RL網(wǎng)址。從網(wǎng)絡(luò)上動(dòng)態(tài)加載失都。
使用URL.basePath方法后柏蘑,再使用load加載本地路徑,都會(huì)自動(dòng)加上URL.basePath里的網(wǎng)址粹庞。這樣就實(shí)現(xiàn)了本地與網(wǎng)絡(luò)加載的結(jié)合咳焚。
這樣就結(jié)束了嗎?并沒有庞溜!
按剛剛的寫法革半,res/layabox.png明明已經(jīng)上傳到微信小游戲的本地目錄,但是如果在使用URL.basePath之后流码,再次加載res/layabox.png并不會(huì)從本地加載使用又官,而是從網(wǎng)絡(luò)動(dòng)態(tài)加載使用。這并不是我們要的結(jié)果漫试。
所以六敬,引擎針對(duì)使用URL.basePath之后,如何再次使用本地加載商虐,進(jìn)行了特殊目錄和文件的處理觉阅,也就是本地包白名單機(jī)制崖疤。如下例所示:
MiniAdpter.nativefiles = [
"wxlocal",
"res/atlas/houzi.atlas",
"res/atlas/houzi.png",
"common/tishi.png",
"common/bg.png",
"ui.json",
"newLb/bg031.png"
];
只要是MiniAdpter.nativefiles里存在的目錄名或文件,引擎會(huì)自動(dòng)將該目錄視為本地目錄典勇,即便使用了URL.basePath劫哼,對(duì)于包含在nativefiles白名單內(nèi)的目錄名或文件,都不會(huì)從網(wǎng)絡(luò)動(dòng)態(tài)加載割笙,只會(huì)從本地加載权烧。
本文為原創(chuàng)文章,若轉(zhuǎn)載請(qǐng)注明出處:https://heijiejie.github.io/