试水oppo小游戏(一)

news/2024/11/20 9:30:50/

   快过年了啊,提前祝大家新年快乐!

   手里的项目告一段落,这两个月连续做了四个密室逃亡类游戏,做的我想吐。还有一周的班就过年了,新项目又没得开,就决定让我一个人划着小船向oppo小游戏靠拢一下,走一下流程。我还是很开心的,因为又可以接触到新的东西了,不用再去做那个让我反胃的密室逃亡了。

   第一时间肯定是去找开发文档,打开creator的一瞬间,虎躯一阵,竟然要升级creator版本。

  我用的版本还是1.9.2的,不是不愿意升级,之前2.0刚出的时候我就升上去了,结果之前的一个项目说需要改动,我把项目导进2.0,蹦出来的错误有点多,而且那个项目正好是我自己用到了摄像头,到2.0摄像机的机制改变不小,于是乎项目就有点崩。所以我就又把版本退回来了。

  但是这一次不得不升版本,虽然还是1.9.2的项目,升上去也没改动多少,看来之前因为摄像机的原因,我错怪了creator。项目升上去主要改动的一点就是事件传递的参数方式。在1.9.2中,我通过emit发送事件的时候带过去一个参数,像这样:

node.emit("SEND_MSG",{msg:1});

我在其他地方使用同一个节点监听这个事件:

node.on("SEND_MSG",this.callfunc,this);

callfunc(event){

 cc.log(event.detail.msg);

//在1.9.2我可以获得参数 event.detail.msg,但是在2.0.7版本中,这里就会报错

//也就是说event.detail = undefined     直接用event.msg就可以正确接受传递的值。

}

还有一点就是关于音频的,在1.9.2中我定义一个音效,直接 clickMusic:cc.AudioClip,就可以了,但是在2.0版本中,会发出警告,需要加上default:null。不加也不会出错,只是警告每次都要在控制台弹。

项目升级没有问题了,就准备打个包,oppo的小游戏是个rpk的包,creator内填入包名,游戏名版本号,使用默认的秘钥库构建一下就可以了。creator打好的rpk包在build下的quickgame下的dist文件夹里。

下载安装oppo调试器,解压的runTime.apk拖到手机存储下,然后在手机上去文件管理找到这个安装包安装到手机上。

我用的oppo测试机有两个存储空间,

oppo官方文档写的是sdcard下新建games文件夹,然后将打好的rpk放进去,在调试器中刷新一下就能看到自己的包。我就在SD卡下新建了一个games,然后放了rpk进去,作死的刷新找不到,我以为手机没反应过来,重启手机,重启电脑,重新打包,就是刷新不出来。也怪我自己蠢,看了文档写着sdcard根目录,就没想过在那个叫内部存储设备里边新建个games试一下,手动捂脸。

值得一提的是oppo提交正式包的时候是要自己使用openssl生成签名的,默认的秘钥库只用于调试。

openssl http://slproweb.com/products/Win32OpenSSL.html,根据自己的机型下载安装,配置环境变量。

creator官方文档提供的生成两个.pem文件的代码:

openssl req -newkey rsa:2048 -nodes -keyout private.pem -x509 -days 3650 -out certificate.pem

就可以在你当前打开的目录下生成两个文件。但是在调试器中打开用自己生成的文件打的rpk会提示安装包打开失败,有已经成功上线oppo小游戏的告诉我说他和我遇到了一样的问题,调试的时候一直用的默认调试库,上线的时候打一个自己生成签名的包给过去,也没有出现问题,可能是调试器有问题,不能调试自己生成签名的包。

(req是证书请求的子命令,-newkey rsa:2048 -keyout private.pem 表示生成私钥(PKCS8格式),-nodes 表示私钥不加密,若不带参数将提示输入密码;-x509表示输出证书,-days3650 为有效期,此后根据提示输入证书拥有者信息;)

 


http://www.ppmy.cn/news/803610.html

相关文章

oppo小游戏对接教程Laya

视频演讲稿 laya商业级教程-对接oppo小游戏(5分钟掌握) 演讲稿: 本节内容讲的是:Laya引擎对接oppo小游戏平台 工作流程 由于vivo和oppo两个平台工作流程相似度较高,本节针对差异化部分着重讲解,建议先观看完vivo对接的教程再进行观看 讲解…

深度学习入门知识总结

0、前言:学习了深度学习入门的鱼书,很多基础概念有了大概了解,及时总结,方便日后查找 1、神经网络(深度学习)的起源算法——感知机: 定义:感知机接收多个输入信号,输出一…

一行代码让校友邦网页版出错(无法发表)

正在疯狂补周志,然后刚写第二篇死活不能提交,转个圈圈就没了 一看控制台好家伙 然后就开始测试我的内容哪里会引起bug 结果真是给我整笑了 没错,一行代码直接网页js乱了,这网页写的太好了(◕ᴗ◕✿) 如下也可以造成无响应 …

#VCS# 关于VCS 编译选项:+vcs+initreg+random的理解(3)回头是岸

前段时间,有时间整理了一下关于+vcs+initreg+random 编译和仿真选项的心得,草草写了两篇笔记。自觉得对该选项已经掌握了,后来实际应用中再次触及到了该知识点,不想又卡壳了。今天,继续追加一篇,希望对大家能有所帮助!不正之处,请指正。 对于上述规则rule#2和 rule#3,…

OpenCV 入门教程:中值滤波和双边滤波

OpenCV 入门教程:中值滤波和双边滤波 导语一、中值滤波二、双边滤波三、示例应用3.1 图像去噪3.2 图像平滑 总结 导语 在图像处理和计算机视觉领域,中值滤波和双边滤波是两种常见的滤波方法,用于平滑图像、去除噪声等。 OpenCV 提供了中值滤…

[SSD核心技术:FTL 1] 谁“偷“走了固态硬盘的容量? 预留空间 (OP )图文全解

声明 主页: 元存储的博客_CSDN博客 依公开知识及经验整理,如有误请留言。 个人辛苦整理,付费内容,禁止转载。 内容摘要 前言 1. 预留空间OP是什么? 2. 预留空间OP有什么好处? 3. OP 为何能提高 SSD 性能 4. OP 为何能改善固态硬盘使用寿命

用python模拟轮盘抽奖游戏

1 问题 如何用python程序模拟轮盘抽奖游戏,解决日常问题。 问题:轮盘分为三部分: 一等奖,二等奖和三等奖;轮盘转的时候是随机的,如果范围在[0,0.08)之间,代表一等奖,如果范围在[0.08,0.3)之间,代表2等奖,如果范围在[0.3, 1.0)之间,代表3等奖。 2 方法 首…

oracle的rowid到底是什么

rowid 说明 rowid是伪列(pseudocolumn),伪列的意思是实际上这一列本身在数据字典中并不存在,在查询结果输出时它被构造出来的。 rowid并不会真正存在于表的data block中,但是他会存在于index当中,用来通过rowid来寻找表…