Cocos Creator
pibread
KEEP HUNGRY AND KEEP SHIPPING
展开
-
Cocos Creator 新手引导制作
效果展示原理利用mask组件的反向遮罩功能,将除目标显示对象的其他场景元素进行遮挡,从而达到突出目标显示对象,指引玩家进行操作。实现创建节点,层级为:Guideline > Mask > Backgournd在Mask节点上添加Mask组件,并勾选 Inverted设置Background的长宽为场景大小,并添加BlockInputEvents组件,此组件的作用为防止点击事件穿透。创建脚本guideline-component.ts,并添加到Guideline节原创 2021-08-25 17:35:08 · 1522 阅读 · 0 评论 -
Cocos Creator 使用摇杆控制角色移动
原理玩家操作摇杆的方向键,摇杆会根据玩家移动的位置,计算出将要运动的方向的向量并输出给角色,角色在接收到输入的运动方向的向量后,将其与自身的速度进行计算,最后得出要移动位置。实现摇杆组件处理UI。将摇杆的素材拖动到层级管理器中,并命名为Joystick, 效果如下:添加脚本。新建脚本并命名为:Joystick.ts,并将此脚本挂载到场景中的Joystick节点上。实现摇杆中圆球移动。这里默认圆球的初始位置为:(0, 0)。 onEnable() { t原创 2021-08-19 14:06:06 · 2887 阅读 · 1 评论 -
Cocos Creator 3.2 ScrollView优化
在游戏开发中,常常会使用ScrollView来实现列表的功能,如:背包、邮件列表等。但当列表的数据比较多时,会造成界面卡顿。这是因为JS的执行是单线程的,只有完成上个任务,才能执行下一个任务。一般在ScrollView加载显示对象会这样做: for (let i = 0; i < 300; i++) { let item = this._itemPool.get()||instantiate(this.listItemPrefab)原创 2021-07-20 15:20:45 · 1372 阅读 · 3 评论 -
Cocos Creator打包后捕获JS错误
2.x版本:window.__errorHandler = function (file: any, line: any, error: any) { console.log("=======>", file, line, error)}3.2版本:let consoleError = window.console.error;window.console.error = function () { console.log("=======>”, JSON.str原创 2021-07-15 16:11:36 · 1268 阅读 · 1 评论 -
cocos creator 3.2加载与读取zip包
安装JSZip插件下载地址:https://stuk.github.io/jszip/新建目录data,并添加两个文件:a.jsonDungeon.png压缩data文件,并修改后缀名为".bin", 将data.bin放入项目resources中加载data.bin文件 private loadZip(url: string): Promise<any> { return new Promise((resolve, reject) => { .原创 2021-07-12 16:32:56 · 1363 阅读 · 2 评论 -
cocos creator 3D截屏
cocos creator 在 2.x 与 3.x 的截屏的实现原理差不多,都是利用摄像机做离屏渲染,但在实际代码接口方面有一些改变,而这两个版本都有官方的demo提供,能够满足一般的应用。在3D场景中,由于3d世界和ui是分别2个摄像机来做渲染,所以在做截屏的时候,需要将2个摄像机的渲染结果绘制到同一个render texture中。 而在cocos中,所有的camera的渲染都是同步,所以需要分开绘制,不然数据会被覆盖。此外,Render texture 在目前的版本取消了 ColorAttach原创 2021-07-01 14:38:50 · 922 阅读 · 1 评论 -
在Cocos Creator中使用protobuf
项目设置使用nvm安装protobuf.js插件下载protobuf.js导入到工程中,并设置为插件使用方法通过命令pbjs将proto生成js$> pbjs -t static-module -w commonjs -o compiled.js file1.proto file2.protopbts 生成Ts文件$> pbts -o compiled.d.ts compiled.js封装发送包let login = { userID: 1,原创 2021-01-24 12:23:28 · 1901 阅读 · 0 评论