字节跳动开发者工具_FAQ | 字节跳动小游游戏发布常见问题汇总
在說常見問題之前,我們先強調2點字節跳動小游戲的基礎技術限制(這個很重要,請認真閱讀):
第1:不允許操作 DOM、BOM,必須改成平臺相應的 API 調用方式;
第2:不允許動態執行代碼的能力,eval、setTimeout 和 setInterval 函數的第一個參數不能為字符串,Function構造函數的參數不能為字符串。
下面是我們匯總的開發者普遍遇到的問題以及解決方案:
1. 問:我在使用白鷺引擎 5.0 / 4.x / 3.x 版本,可以直接轉換為字節跳動小游戲游戲嗎?
答:目前我們只支持白鷺引擎 5.2.19 以上的版本發布為字節跳動小游戲。老版本的項目,參考微信小游戲升級指南;
2. 問:我在使用 egret res 庫,5.2.19 創建的新項目使用的是 assetsmanager 庫,這兩個庫有區別么?
答:assetsmanager 是 res 的替代方案,這兩者的 API 有 90% 保持一致,但是仍然有一些小區別,主要是在 RES.Analyzer 上,如果您遇到了相關問題,您可以在 egretProperties.json 中修改模塊配置,從 assetsmanager 修改回 res 并執行 egret clean ,這樣就可以換成 res 資源管理庫了。更改如圖所示:
3.問:當老項目(5.2.19以前)升到到最新版時,發布小游戲項目報錯。
答:升級成功后,請首先保證 HTML5 版本可以正常運行,然后再嘗試發布為字節跳動小游戲,目前我們遇到了多位開發者通過創建 5.2.19 新項目后拷貝老項目代碼和素材的方式嘗試升級,由于忽視了修改 egretProperties.json 中的模塊配置,導致運行失敗的問題,項目升級可參考微信小游戲升級指南。
4.問:在游戲使用到 egret.getDefinitionByName() 報錯,找不到對應類時如何處理。
答:需要將要反射的類掛載到 window 對象下,例如有個 class People{} 類,需要添加代碼 window["People"]?= People,具體可參考微信小游戲示例demo(詳細內容見官網)。
5.問:在小游戲中報錯 “Main is not defined” 時,如何處理。
答:請查看游戲的入口類名是否為 Main,如不是請修改為 Main。
6.問:使用 eui 皮膚時報錯 'parseFromString' of undefined,如何處理。
答:檢查是否使用了 嵌入EXML到代碼中,例:
const className = "skins.ButtonSkin";const exmlText = ` ...????????????????????`;需要改成單獨的皮膚文件。
7.問:為什么引入第三方庫報?第三方庫 is not defined?錯誤。
答:我們要再次強調小游戲有很多的限制,首先檢查我們所使用的第三方庫是否符合小游戲的標準,具體可以參考小游戲官方文檔,如果不符合規范,我們只能自己來修改這個庫以達到標準。后期我們會整理常用的庫提供給開發者。經檢查適合小游戲的標準,但還是會報我們使用的?第三方庫未定義,需要我們把第三方庫掛在到全局對象 window 上,我們可以在 字節跳動game.ts 的文件中添加。例如我們加入 zlib 庫。如圖:
8.問:文件加載失敗:default.res.json?v=201906191000
答:去掉?v=201906191000?。
9.問:為什么我動態設置幀頻沒有效果?
答:小游戲平臺只能在 index.html 里設置,不能通過 stage.frameRate 方法動態修改。
點擊閱讀原文查看微信小游戲升級指南資料。
聯系我們
開發者技術交流區:bbs.egret.com
在線開發者微信群:egretengine(搜索微信號添加)
官方技術支持郵箱:support@egret.com
市場合作:marketing@egret.com
商務合作:bd@egret.com
招聘郵箱:hr@egret.com
白鷺引擎微信號
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的字节跳动开发者工具_FAQ | 字节跳动小游游戏发布常见问题汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 表 上限,Oracle分区
- 下一篇: 三菱fx5u编程手册_FX5U系列PLC