字节跳动开发者工具_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 资源管理库了。更改如图所示:

2388b8a74f29f02d56e57f815375ee5a.png

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 库。如图:

0c4240341e3117bf13a7730b30cf7089.png

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

白鹭引擎微信号

8697255772b368dc30c12cd3edf41e66.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值