cocosCreator 之 微信小游戏打包

版本: v3.8.0

环境: Mac


介绍

cocosCreator 支持将游戏发布到多个小游戏平台,并提供了打包等流程处理。 本篇文章主要讲述下微信小游戏的发布流程相关。更多内容参考官方文档: 发布到小游戏平台

微信小游戏的发布相关,需要满足:

  • 注册微信小游戏账号,获取AppID
  • 下载微信开发者工具
  • cocosCreator编译器配置开发者工具路径

编译器对项目构建后,可通过微信开发者工具进行调试,上传等。然后通过注册的微信公众平台可以提交审核,审核成功后就可以将小游戏对外发布了。


注册账号和工具下载

小游戏账号注册,详情内容可参考: 注册游戏账号

需要注意的是:

  • 邮箱的设定不能与微信开放平台,微信账号邮箱绑定冲突,否则无法注册
  • 服务类目一定要选择游戏, 子类目推荐官方设定的休闲游戏
  • 游戏的AppID注意记录下,它会在cocosCreator构建微信小游戏或使用微信开发者工具开发项目使用

小游戏账号的注册: 地址

微信开发者工具: 下载


构建

关于微信小游戏的构建发布, 官方提供了很详细的文档说明,可参考: 发布到微信小游戏。需要注意:

(一) 主包压缩类型

构建发布下的主包压缩类型选择,主包体大小要限制在4M以内,所以可设置小游戏分包也就是Bundle的配置设定来减少包体大小,其他的策略:

  • 较大的图片或不需要透明度的,可以PNG转换为JPG
  • 使用TexturePacker打包图集,区分通用和子功能模块,选择NPOT纹理,RGBA4444格式
  • 使用TinyPng进行压图
  • 声音尽量将wav格式转换为mp3/ogg格式
  • 使用音频压缩工具
  • 字体相关,尽量使用系统字BMFont,关于后者推荐在线工具:SnowB
  • 帧动画相关,减少帧的设定,或使用骨骼动画
  • 通过编译器对代码进行功能裁切,不需要的就去掉

这些都有利于对包体的优化。


(二) AppID配置

配置一定要为小游戏平台下设定的appID

如果为非游戏AppID的话,在构建完成后,通过开发者工具运行的时候会出现类似报错:

app.json未找到

该问题原因: 小程序和小游戏的入口是不一样的, 小游戏的入口是game.json


(三) 构建成功后,点击运行, 可能会提示类似错误:

IDE service port disabled. To use CLL Call,open … 服务端口已关闭。使用命令行调用工具…

该问题原因: 微信开发者的工具服务端口未开启

解决: 微信开发者工具 --> 设置 --> 安全设置 --> 服务端口 --> 开启 即可


发布

cocosCreator在构建完成后,通过运行可打开微信开发者工具,预览效果的实现。

建议: 通过真机调试,查看下效果的实现。

如果确认无误,可点击上传将小游戏包上传到小游戏平台。

请添加图片描述

  • 预览 在编译成功后,手机扫描二维码查看效果
  • 真机调试 构建成功后,手机扫描二维码查看效果
  • 上传 首次上传,会为体验版本,工具会提示你输入输入版本号和项目备注。

上传成功后,需登录小程序管理平台,选择左侧标签的管理 --> 版本管理,在页面的最下方会出现开发版本
请添加图片描述

左侧的体验版可获取二维码,供其他成员查看。

其他成员查看需要通过管理平台的 成员管理 --> 体验成员 --> 添加操作后才能查看。

确认无误后,就可以提交审核了。

更多详情内容可参考: 微信小游戏上传


后续补充中…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/98467.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3 DOM元素渲染完成之后执行

在Vue 3中,可以使用nextTick函数来在DOM元素渲染完成之后执行代码。nextTick函数会在下次DOM更新循环结束之后执行提供的回调函数。 例如,在Vue 3的组件中,可以这样使用nextTick函数: import { nextTick } from vue;export defa…

多线程与高并发——并发编程(3)

文章目录 三、锁1 锁的分类1.1 可重入锁、不可重入锁1.2 乐观锁、悲观锁1.3 公平锁、非公平锁1.4 互斥锁、共享锁2 深入synchronized2.1 类锁、对象锁2.2 synchronized的优化2.3 synchronized实现原理2.4 synchronized的锁升级2.5 重量级锁底层 ObjectMonitor3 深入ReentrantLo…

并发编程的故事——并发之共享模型

并发之共享模型 文章目录 并发之共享模型一、多线程带来的共享问题二、解决方案三、方法中的synchronize四、变量的线程安全分析五、习题六、Monitor七、synchronize优化八、wait和notify九、sleep和wait十、park和unpark十一、重新理解线程状态十二、多把锁十三、ReentrantLoc…

CocosCreator3.8研究笔记(二)windows环境 VS Code 编辑器的配置

一、设置文件显示和搜索过滤步骤 为了提高搜索效率以及文件列表中隐藏不需要显示的文件, VS Code 需要设置排除目录用于过滤。 比如 cocoscreator 中,编辑器运行时会自动生成一些目录:build、temp、library, 所以应该在搜索中排除…

云计算的三个主要服务模型:IaaS、PaaS 和 SaaS

文章目录 介绍基础设施即服务(Infrastructure as a Service,IaaS)平台即服务(Platform as a Service,PaaS)软件即服务(Software as a Service,SaaS) 区别基础设施即服务&…

C++面试题(吴)-计算机网络部分(2)和常见设计模式

目录 1.网络部分 3.32 说说浏览器从输入 URL 到展现页面的全过程 3.33 简述 HTTP 和 HTTPS 的区别? 3.34 说说 HTTP 中的 referer 头的作用 3.35 说说 HTTP 的方法有哪些 3.36 简述 HTTP 1.0,1.1,2.0 的主要区别 3.37 说说 HTTP 常见的…

vue组装模板(侧边栏+顶部+主体)--项目阶段4

目录 一、前言介绍 二、结构解析 三、页面拆分 (一)页面拆分 1.侧边栏页面(固定)--Aside.vue 2.顶部页面(固定)--Header.vue 3.主体页面(不固定的)--示例用UserView…

PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯和KMEANS聚类用户画像...

原文链接:http://tecdat.cn/?p24346 在今天产品高度同质化的品牌营销阶段,企业与企业之间的竞争集中地体现在对客户的争夺上(点击文末“阅读原文”获取完整代码数据)。 “用户就是上帝”促使众多的企业不惜代价去争夺尽可能多的客…

C#,《小白学程序》第七课:列表(List)应用之一“编制高铁车次信息表”

1 文本格式 /// <summary> /// 车站信息类 class /// </summary> public class Station { /// <summary> /// 编号 /// </summary> public int Id { get; set; } 0; /// <summary> /// 车站名 /// </summary>…

bug复刻,解决方案---在改变div层级关系时,导致传参失败

问题描述&#xff1a; 在优化页面时&#xff0c;为了实现网页顶部遮挡效果&#xff08;内容滚动&#xff0c;顶部导航栏不随着一起滚动&#xff0c;并且覆盖&#xff09;&#xff0c;做法是将内容都放在一个div里面&#xff0c;为这个新的div设置样式&#xff0c;margin-top w…

查漏补缺 - JS三 WebAPI

目录 BOMhistory DOM操作DOM1&#xff0c;dom.children 和 dom.childNodes 区别2&#xff0c;dom.remove()3&#xff0c;其他常用 API DOM 属性1&#xff0c;标准属性2&#xff0c;自定义属性 DOM 内容DOM样式DOM事件 JavaScript 包括 EcmaScript 和 WebAPI EcmaScript 包括 语…

25 Linux可视化-Webmin和bt运维工具

25 Linux可视化-Webmin和bt运维工具 文章目录 25 Linux可视化-Webmin和bt运维工具25.1 Web运行环境简介25.2 Webmin的安装及使用25.2.1 安装webmin25.2.2 Webmin使用演示 25.3 bt(宝塔)的安装及使用25.3.1 安装宝塔25.3.2 宝塔Web登录Linux服务器25.3.3 找回宝塔登录密码 学习视…

客路旅行(KLOOK)面试(部分)(未完全解析)

一面 用过Chatgpt的哪个版本&#xff0c;了解Chatgpt版本之间的差异吗 什么是优雅部署&#xff1f;newBing: 服务启动时&#xff0c;检查依赖的组件或容器是否就绪&#xff0c;如果不就绪&#xff0c;等待或重试&#xff0c;直到就绪后再注册到服务中心&#xff0c;对外提供服…

Java之API详解之BigDecimal类的详细解析

7 BigDecimal类 7.1 引入 首先我们来分析一下如下程序的执行结果&#xff1a; public class BigDecimalDemo01 {public static void main(String[] args) {System.out.println(0.09 0.01);}} 这段代码比较简单&#xff0c;就是计算0.09和0.01之和&#xff0c;并且将其结果…

Mapbox-gl 关闭所有Popup,以及关闭按钮出现黑色边框bug

1.官方示例 var popup new mapboxgl.Popup().addTo(map);popup.remove(); 很明显&#xff0c;需要记录popup对象&#xff0c;管理起来比较麻烦。 2.本人采用div的方式关闭所有的popup&#xff0c;在map对象上新增加方法 map.closePopupmapView.popupClear function(){$(&q…

ceph架构及 IO流程

CEPH是由多个节点构成的集群&#xff0c;它具有良好的可扩展性和可靠性。节点之间相互通信以达到&#xff1a; 存储和检索数据 数据复制 监控集群的健康状况 保证数据的完整性 检测故障并恢复 基本架构如下图&#xff1a; 分布式对象存储系统RADOS是CEPH最为关键的技术&a…

WebRTC音视频通话-WebRTC推拉流过程中日志log输出

WebRTC音视频通话-WebRTC推拉流过程中日志log输出 之前实现iOS端调用ossrs服务实现推拉流流程。 推流&#xff1a;https://blog.csdn.net/gloryFlow/article/details/132262724 拉流&#xff1a;https://blog.csdn.net/gloryFlow/article/details/132417602 在推拉流过程中的…

第 3 章 栈和队列(用递归函数求解迷宫问题(求出所有解))

1. 背景说明&#xff1a; 若迷宫 maze 中存在从入口 start 到出口 end 的通道&#xff0c;则求出所有合理解并求出最优解 迷宫示意图&#xff1a; 输入文本&#xff1a; 10 10181 3 1 7 2 3 2 7 3 5 3 6 4 2 4 3 4 4 5 4 6 2 6 6 7 2 7 3 7 4 7 6 7 7 8 11 18 8 2. 示例代码…

【计算机组成 课程笔记】3.1 算数运算和逻辑运算

课程链接&#xff1a; 计算机组成_北京大学_中国大学MOOC(慕课) 3 - 1 - 301-算术运算和逻辑运算&#xff08;13-7--&#xff09;_哔哩哔哩_bilibili 计算机的核心功能就是运算&#xff0c;运算的基本类型包括算数运算和逻辑运算。想要了解计算机是如何实现运算的&#xff0c;我…

Vlan和Trunk

文章目录 一、VLAN的定义与背景1. 传统以太网的问题&#xff08;广播域&#xff09;2. 用VLAN隔离广播域3. VLAN的优点与应用 二、VLAN的转发过程举例三、802.1Q标签&#xff1a;帧格式与作用四、VLAN工作原理交换机端口类型AccessTrunkHybrid PVID&#xff08;Port VLAN ID&am…