網(wǎng)站性能檢測(cè)評(píng)分
注:本網(wǎng)站頁(yè)面html檢測(cè)工具掃描網(wǎng)站中存在的基本問(wèn)題,僅供參考。
微信開(kāi)發(fā)介紹
白鷺引擎正式支持微信小游戲開(kāi)發(fā) 行業(yè)視頻課程
12月28日微信迎來(lái)更新,正式上線小游戲,并開(kāi)放了小游戲開(kāi)發(fā)文檔和開(kāi)發(fā)者工具。在微信發(fā)布新版本后,白鷺引擎立即添加了對(duì)于微信小游戲開(kāi)發(fā)的支持,開(kāi)發(fā)者只需要使用白鷺引擎的最新版本,通過(guò)使用白鷺引擎完整工具流,就可以快速創(chuàng)建、開(kāi)發(fā)與發(fā)布微信小游戲,而無(wú)需過(guò)多的關(guān)注底層技術(shù)細(xì)節(jié)。1.如何創(chuàng)建微信小游戲項(xiàng)目(1)創(chuàng)建微信小游戲項(xiàng)目需要您需要下載白鷺引擎最新版本,首先創(chuàng)建一個(gè)新的白鷺引擎項(xiàng)目。(2)創(chuàng)建項(xiàng)目之后,點(diǎn)擊項(xiàng)目設(shè)置按鈕,將發(fā)布平臺(tái)設(shè)置為微信小游戲,并下載白鷺引擎提供的微信小游戲支持庫(kù) 。 (3)最后在項(xiàng)目配置中填寫(xiě)appid,projectname等內(nèi)容后,點(diǎn)擊發(fā)布,即可將您的游戲發(fā)布到微信開(kāi)發(fā)者工具中(4)在發(fā)布之后,您可以在到微信開(kāi)發(fā)者工具中預(yù)覽及調(diào)試您的游戲。2.如何將現(xiàn)有白鷺引擎項(xiàng)目遷移至微信小游戲由于微信小游戲與傳統(tǒng)的HTML5游戲的底層機(jī)制有較大差異,所以使用白鷺引擎開(kāi)發(fā)的HTML5游戲需要一定的開(kāi)發(fā)工作量才能移植為一款微信小游戲。整體步驟分為三步:l 將一款白鷺引擎游戲升級(jí)至5.1.1版本l 將該游戲的發(fā)布目標(biāo)設(shè)置為微信小游戲l 進(jìn)行適配性修改具體這三步的處理方式如下:(1)將一款白鷺引擎游戲升級(jí)至5.1.1版本白鷺引擎5.1目前暫不支持使用 egretupgrade 命令進(jìn)行升級(jí),請(qǐng)您下載5.1版本后,創(chuàng)建一個(gè)5.1新項(xiàng)目,然后將現(xiàn)有游戲邏輯和資源拷貝至新項(xiàng)目中。后續(xù)無(wú)論是HTML5版本,iOS/Android版本還是小游戲版本,均使用這個(gè)新項(xiàng)目進(jìn)行后續(xù)開(kāi)發(fā)。如果您的項(xiàng)目使用了EUI,請(qǐng)將EUI的發(fā)布模式設(shè)置為commonjs,并修改您的 ThemeAdapter.ts的實(shí)現(xiàn),具體可以參考5.1.1版本創(chuàng)建的新項(xiàng)目的實(shí)現(xiàn)方式。升級(jí)至5.1.1這一步驟可能占用您大約兩小時(shí)至兩天時(shí)間。主要風(fēng)險(xiǎn)在于引擎升級(jí)后,也許存在一些渲染錯(cuò)誤的BUG,經(jīng)過(guò)了一個(gè)多月的內(nèi)部測(cè)試以及多個(gè)開(kāi)發(fā)者團(tuán)隊(duì)的反饋,我們已經(jīng)解決了已知的所有問(wèn)題,穩(wěn)定性可以基本保障。但是如果您發(fā)現(xiàn)了問(wèn)題,請(qǐng)及時(shí)與白鷺引擎團(tuán)隊(duì)聯(lián)系,并提供可以復(fù)現(xiàn)的Demo,白鷺引擎官方團(tuán)隊(duì)會(huì)第一時(shí)間處理。(2)將游戲發(fā)布目標(biāo)設(shè)置為微信小游戲在執(zhí)行這一步驟前,建議開(kāi)發(fā)者首先創(chuàng)建一個(gè)新項(xiàng)目,并將新項(xiàng)目的發(fā)布目標(biāo)設(shè)置為微信小游戲,將其發(fā)布并確保可以在微信IDE里正確預(yù)覽,這樣您會(huì)對(duì)整個(gè)項(xiàng)目結(jié)構(gòu)更加熟悉。通過(guò)白鷺最新的EgretLauncher,您可以直接將游戲發(fā)布目標(biāo)設(shè)置為微信小游戲,如果您更偏愛(ài)命令行的調(diào)用方式,可以采用如下的調(diào)用方式:執(zhí)行上述步驟之后,您可以使用微信開(kāi)發(fā)者工具打開(kāi)項(xiàng)目,就可以看到您的項(xiàng)目了
(3)進(jìn)行適配性修改上述步驟均完成后,您就可以將您的項(xiàng)目遷入微信小游戲中,為了給最終用戶提供更好的用戶體驗(yàn),微信小游戲?qū)δ挠螒虼嬖谝恍┘夹g(shù)限制,針對(duì)微信小游戲現(xiàn)在公布的制作標(biāo)準(zhǔn)其進(jìn)行改造可能占用您一天至一個(gè)星期。具體限制如下:l 禁止eval,newFunction等動(dòng)態(tài)代碼加載機(jī)制,白鷺引擎的EUI使用了這種方式,已經(jīng)通過(guò)將主題文件的發(fā)布策略改為commonjs進(jìn)行了規(guī)避,如果您的項(xiàng)目采用了上述動(dòng)態(tài)代碼機(jī)制,需要采用其他方式實(shí)現(xiàn)。l 微信小游戲沒(méi)有直接執(zhí)行JavaScript文件的接口,都是通過(guò)require()方式進(jìn)行加載,除了禁止動(dòng)態(tài)加載外,require由于是基于CommonJS的模塊機(jī)制,所以不支持全局對(duì)象,如果您的項(xiàng)目中存在了全局對(duì)象的跨文件訪問(wèn),需要設(shè)置 window.object1=object1 這樣的方式強(qiáng)制將特定對(duì)象轉(zhuǎn)為全局對(duì)象。由于白鷺引擎的項(xiàng)目會(huì)將您的項(xiàng)目所有文件編譯為一個(gè)文件,所以這種問(wèn)題主要出現(xiàn)在main.js文件與其他第三方庫(kù)文件之間的全局調(diào)用上。l 游戲總體積不得大于4M,目前引擎的體積占用為800k左右,目前比較大的占用是生成的commonjs格式的皮膚文件,如果您的皮膚文件過(guò)大導(dǎo)致體積過(guò)大,請(qǐng)等待白鷺引擎后續(xù)版本的持續(xù)迭代優(yōu)化l 如果您的游戲資源大于4M,可以使用動(dòng)態(tài)加載的機(jī)制,動(dòng)態(tài)加載文件的緩存不得大于50M,如果您的資源總體積可以控制在50M以內(nèi),只需要將部分資源文件不放置到項(xiàng)目中即可,但是如果總體積大于50M,您需要設(shè)計(jì)資源的緩存存儲(chǔ)和釋放策略。再次強(qiáng)調(diào),代碼文件必須放在游戲包中,不可以動(dòng)態(tài)加載。l 需要對(duì)接微信相關(guān)接口,如用戶信息、社交關(guān)系等,具體請(qǐng)參見(jiàn)微信提供的API文檔與示例。3.后續(xù)路線圖微信小游戲上線或?qū)镠TML5行業(yè)帶來(lái)重要利好,為行業(yè)帶來(lái)機(jī)遇與挑戰(zhàn),后續(xù)發(fā)展有待行業(yè)從業(yè)者共同探索。白鷺科技作為HTML5引擎研發(fā)商致力于為開(kāi)發(fā)者提供更為便捷的開(kāi)發(fā),白鷺引擎后續(xù)會(huì)與微信團(tuán)隊(duì)進(jìn)行進(jìn)一步的技術(shù)合作,完善使用白鷺引擎開(kāi)發(fā)微信小游戲的開(kāi)發(fā)體驗(yàn)。主要包含:l 將微信的文件讀寫(xiě)API與白鷺引擎資源管理器進(jìn)行更緊密的集成。l 開(kāi)發(fā)效率與工作流優(yōu)化。
(3)進(jìn)行適配性修改上述步驟均完成后,您就可以將您的項(xiàng)目遷入微信小游戲中,為了給最終用戶提供更好的用戶體驗(yàn),微信小游戲?qū)δ挠螒虼嬖谝恍┘夹g(shù)限制,針對(duì)微信小游戲現(xiàn)在公布的制作標(biāo)準(zhǔn)其進(jìn)行改造可能占用您一天至一個(gè)星期。具體限制如下:l 禁止eval,newFunction等動(dòng)態(tài)代碼加載機(jī)制,白鷺引擎的EUI使用了這種方式,已經(jīng)通過(guò)將主題文件的發(fā)布策略改為commonjs進(jìn)行了規(guī)避,如果您的項(xiàng)目采用了上述動(dòng)態(tài)代碼機(jī)制,需要采用其他方式實(shí)現(xiàn)。l 微信小游戲沒(méi)有直接執(zhí)行JavaScript文件的接口,都是通過(guò)require()方式進(jìn)行加載,除了禁止動(dòng)態(tài)加載外,require由于是基于CommonJS的模塊機(jī)制,所以不支持全局對(duì)象,如果您的項(xiàng)目中存在了全局對(duì)象的跨文件訪問(wèn),需要設(shè)置 window.object1=object1 這樣的方式強(qiáng)制將特定對(duì)象轉(zhuǎn)為全局對(duì)象。由于白鷺引擎的項(xiàng)目會(huì)將您的項(xiàng)目所有文件編譯為一個(gè)文件,所以這種問(wèn)題主要出現(xiàn)在main.js文件與其他第三方庫(kù)文件之間的全局調(diào)用上。l 游戲總體積不得大于4M,目前引擎的體積占用為800k左右,目前比較大的占用是生成的commonjs格式的皮膚文件,如果您的皮膚文件過(guò)大導(dǎo)致體積過(guò)大,請(qǐng)等待白鷺引擎后續(xù)版本的持續(xù)迭代優(yōu)化l 如果您的游戲資源大于4M,可以使用動(dòng)態(tài)加載的機(jī)制,動(dòng)態(tài)加載文件的緩存不得大于50M,如果您的資源總體積可以控制在50M以內(nèi),只需要將部分資源文件不放置到項(xiàng)目中即可,但是如果總體積大于50M,您需要設(shè)計(jì)資源的緩存存儲(chǔ)和釋放策略。再次強(qiáng)調(diào),代碼文件必須放在游戲包中,不可以動(dòng)態(tài)加載。l 需要對(duì)接微信相關(guān)接口,如用戶信息、社交關(guān)系等,具體請(qǐng)參見(jiàn)微信提供的API文檔與示例。3.后續(xù)路線圖微信小游戲上線或?qū)镠TML5行業(yè)帶來(lái)重要利好,為行業(yè)帶來(lái)機(jī)遇與挑戰(zhàn),后續(xù)發(fā)展有待行業(yè)從業(yè)者共同探索。白鷺科技作為HTML5引擎研發(fā)商致力于為開(kāi)發(fā)者提供更為便捷的開(kāi)發(fā),白鷺引擎后續(xù)會(huì)與微信團(tuán)隊(duì)進(jìn)行進(jìn)一步的技術(shù)合作,完善使用白鷺引擎開(kāi)發(fā)微信小游戲的開(kāi)發(fā)體驗(yàn)。主要包含:l 將微信的文件讀寫(xiě)API與白鷺引擎資源管理器進(jìn)行更緊密的集成。l 開(kāi)發(fā)效率與工作流優(yōu)化。