背景

  • OPPO 小游戏跟 OPPO H5 游戏不同,H5 游戏中接入的 OPPO sdk 需要去除
  • OPPO 小游戏跟微信小游戏类似,转 OPPO 小游戏之后,需要到安装了 runtime 的 OPPO 手机上才能运行,在浏览器运行会报错
  • 接入 OPPO 小游戏的对战、登录等功能,需要按照文档调用 OPPO 小游戏的 API

转 OPPO 小游戏常见问题

问题类型 问题描述 解决思路 备注
游戏功能 排行榜 去除相关功能 OPPO小游戏暂时不支持相关的功能
DOM、BOM 使用了 DOM、BOM 相关的库 去除相关的 JS 库及 CSS 样式库 基于用户体验、性能等考虑,runtime 没有提供 DOM、BOM 等环境
禁止函数 使用禁止了的 eval、Function constructor、new Function 函数 cp 需要禁止使用该函数 基于安全性、性能的考虑,runtime 禁止相关函数
游戏包太大 游戏包体超过10M cp 修改,将大的游戏资源放到 CP 自己的服务器上 考虑到OPPO小游戏即开即玩,对游戏包大小有要求,尽量控制在5M以内,最大不超过10M
资源路径 资源路径前后有空格 cp 检查资源路径,去掉资源路径前后空格
资源路径 xxx.js is not in app package 造成该原因一般都是路径不对引起的,若有引用第三方脚本推荐在 bin/index.html 通过 script 标签的方式引入 若使用到了 require,脚本不能省略掉 .js 后缀名,现不支持写相对路径
不支持能力 sessionStorage cp 修改为localStorage
cp 打包问题 缺少图标、缺少签名、非 release 打出来的包、cp 的代码没有压缩等 cp 按照文档改进
安装失败 rpk包放在runtime中打开显示安装失败 先检查签名包是否有问题,再清除缓存(设置>应用管理>清楚数据),实在不行再把已安装的“快应用”卸载了再进行安装 快应用是系统进程,需要点击显示系统进程
字体 使用特殊字体 cp 需要按照代码进行修改
不支持 ES6 属性 游戏工程使用了 ES6 编码,导致在运行时报错 推荐使用 babel + webpack 进行一次 ES5 的转换
快应用因版本低无法安装 设备已安装的快应用高于提供的测试版本 cp 删除本地高版本的快应用,再重新安装我们的测试版本 快应用是系统级应用,需要在应用管理页面点击显示系统进程才能看到并删除。否则找不到快应用。


白鹭引擎问题

  • 动画卡顿问题:cp 需要设置帧率为 60帧
  • 黑屏问题:更新 egret.qggame.js 脚本,老的脚本适配存在问题。如果问题仍旧存在,可以先通过 logcat 日志排查原因,一般游戏内部的错误也会造成黑屏,若是引擎的问题或者在排查错误时存在困难,请联系我们

laya 引擎问题

  • 图集问题:图集资源找不到,需要在加载图集资源时,Laya.loader.load 中加上参数 Laya.loader.Atlas

cocos 引擎问题

  • cc.director.getCollisionManager() 返回为空问题:CollisionManager 需要在 require("project.js") 调用完成之后才会被赋值
  • rpk 中 json 文件无法找到问题:参考 cocos 资源加载 使用新的资源调用方式
  • 部分版本 cocos creater 导出的包摄像头问题:更新到 cocos creator 官方提供新版本

使用特殊字体

var url = "http://example.com/resource/w12.ttf";

var tempFilePath = qg.env.USER_DATA_PATH+"/w12.ttf";
// 下载对应字体文件
qg.downloadFile({
    url: url,
    filePath: tempFilePath,
    success(msg) {
        // 使用下载的字体,w12 代表字体类型
        var font = new FontFace("w12", "url('" + tempFilePath + "')");
        document.fonts.add(font);
        // 直接使用字体
        // txt.font = "w12";
    },
    fail(msg) {
        // 下载失败
    },
});
© 2020 OPPO. All rights reserved.

results matching ""

    No results matching ""