获得徽章 0
#每天一个知识点#
2023/06/21
cocos ceater对象池

在 cocos ceater 中实现对象池主要是两个基本方法,那就是获取节点,以及存储节点

获取节点的时候,我们传入需要实例的预制体,和该该节点钩挂的父节点。那么我们实现中,我们可以通过节点的名来作为 key,然后先查看是有以及有该节点池,有的话直接拿,要是没有的话我们得克隆出来,而要是没有该节点的对象池的,就需要创建该节点的对象池。
而存储的方法中,我们就是需要把该节点传入,然后判断是否有该节点池,有的话存入,没得话就得创建该节点的对象池来存入
然后我们在每一个克隆节点的地方就能换为对象池中的 getNode方法,然后销毁的地方使用 pushNode 方法,下面是最简单基本的一个实现,具体开发中,我们还需要更多的条件和对应的函数等
展开
鱼___鱼于2023-06-21 09:12发布的图片
评论
#每天一个知识点#

2022/06/20

聊聊cocos ceater 中文件的摆放吧,其实项目的文件摆放不是随便摆的,首先直观上是为了我们分类清晰,另外文件的存放还影响分包热更之类。

首先我们的包应该尽可能拆散,这是为了我们的热更能尽可能的小,因为我们的更新是以一个包为标准的,那么如果我们的包都很大,那么我们只要改变了里面的一点东西,这次热更新这一整个包都得更新,这就会导致热更量过大。基于此因为 resource 包每次是必须加载的,所以不应该加入过多东西,以及频繁发生变动(上线后)。对于业务中每一个部分应该尽可能分为相应的一个包。然后包内,比如一个活动,我们一般都会里面创建有 anim / prefabs / textures /sound 等四个文件夹来存放这个活动或者关卡的对应资源等。注意代码不会放在这里面,我们的脚本应该独立所有,作为单独一部分,因为脚本是我们常变动的东西,我们不要把它放到 bundles 和 resource 里面去。
展开
鱼___鱼于2023-06-20 09:22发布的图片
评论
#每天一个知识点#

2023/0619

我们在 cocos ceater 如果不通过动画组件直接代码设置播放 sp.skeleton 动效,在2.4.5版本是没有看到有指定次数的方法的在调用播放的API中,所以下面是自己捣鼓的两种实现方式,一种是我们通过打标签的方式,我们监听动画的完成,完成之后次数加一,然后再次播放动效。而第二种方式我们处理播放spin动效返回的信息,我们通过处理这个动效的 spin 的 track信息来判断执行次数了。关于spin动效的信息可以看这里

zh.esotericsoftware.com
展开
鱼___鱼于2023-06-19 22:48发布的图片
6
#每天一个知识点#
2023/06/18

cocos creator 触摸事件单点和多点

在cocos ceater 2.4.5版本,是没有切换多点触控和单点触控的全局开关的。一般当我们游戏中不需要多点的时候,我们就得处理多点事件。查阅论坛和一些资料,发现一般就是使用触摸事件中返回的 event 中的 getID的值,判断当前事件的 getID 为 0 就表明示当前事件,如果不是,则表明为第二个触摸事件,就此可知 cocos creator的触摸事件ID,是从零开始开始赋值的。
试验在浏览器中,微信小程序,和安卓中都是这个规则。但是在ios的设备上,并非如此,而是返回一个很大的数。所以该方法在 IOS上是不行的,论坛也又引擎官方说明了这个问题。这里要记得注意一下。
展开
评论
#每天一个知识点#
2023/06/17

cocos ceater 手指的触控和平板上触控
游戏中我们常可能会有这样一个功能,就是一个可以点击拖拽移动位置的 Icon,而且一般我们会按下拖拽的的时候把它的透明度至为100这样,方便玩家知道这是可以拖拽的。实现这个小功能并不难,思路上是下面的几个步骤:
● 首先我们是要监听按下start的状态,这时候我们需要一个 isMove 的标签,因为我们得区分是点下的操作还是移动的操作。
● 然后我们监听移动,也就是 cc.Node.EventType.TOUCH_MOVE ,监听手指在屏幕的移动。,在这里添加我们的回调函数,执行透明度设置,设置位置变化的操作
● 最后我们监听按下end的状态,这里判断之前是移动还是点击,用来处理相应的操作吗,点击的话就处理点击的逻辑,移动的话就恢复透明度之类的

下面放个实现的代码(哈哈哈,示意个实现思路就算了,回想这个还是毕业刚入职的时候写的了,现在一看很是问题,别问为啥不改,能运行的代码就是好代码,哈哈哈)

然后,现在才是今天我想说的问题,那就是实现这个功能中会有个小坑,在网页和手机上当时试过效果还行,但是后面在大屏设备上发现想要点击的时候没法点击,会触发拖拽移动。这是因为在大屏中,手指显得比较大,我们点下去就会触发 cc.Node.EventType.TOUCH_MOVE,所以没有响应点击事件,这里其实解决比较简单,也就是判断位移位移大于一个值(这里是2.5)的时候才是发生位移状态,另外 X 和 Y 都要监听哦。
展开
鱼___鱼于2023-06-17 23:05发布的图片
评论
#每天一个知识点#
2023/6/16
大家提交代码的,有规范的吗?哈哈哈,公司里每次看别人提交代码都是一个 up[泣不成声],之前搜索过一些提交规范,给大家参考一下
鱼___鱼于2023-06-16 09:48发布的图片
3
#每天一个知识点#
昨天写了个基本的数字滚动的,今天我们再来看个,实现数字千分位分割,可以说,在游戏或者一些战术数据比较大的场景中,数字分割是很常见的行为,便于用户去知道。这个方法的实现还是比较简单的。但往往我们还有别的需求实现,比如添加逗号分割外,需要实现添加 K,M,B, T 等单位,或者限制位数之类的,保留的小数位之类,这些我们封装起来一个工具类就比较好去使用和管理。
展开
鱼___鱼于2023-06-15 09:44发布的图片
评论
专业牛马开发 @摸鱼无限公司
专业牛马开发 @摸鱼无限公司
#每天一个知识点#cocos ceater 实现一个数字滚动的方法,根据传入时间执行刷新滚动,可以传入 滚动数字前后的文本,比如我们往往需要实现一个百分比的滚动,就可以在 time_post_text 属性传入‘%’,得到从 0% 滚动到 100% 这种效果。使用版本2.4.5,其他版本自行检测哦。 code.juejin.cn
评论
专业牛马开发 @摸鱼无限公司
专业牛马开发 @摸鱼无限公司
专业牛马开发 @摸鱼无限公司
专业牛马开发 @摸鱼无限公司
关注了标签 Webpack Webpack
专业牛马开发 @摸鱼无限公司
关注了标签 HTML HTML
专业牛马开发 @摸鱼无限公司
专业牛马开发 @摸鱼无限公司
关注了标签 Node.js Node.js
专业牛马开发 @摸鱼无限公司
关注了标签 CSS CSS
专业牛马开发 @摸鱼无限公司
关注了标签 GitHub GitHub
专业牛马开发 @摸鱼无限公司
下一页
个人成就
文章被点赞 5
文章被阅读 1,321
掘力值 88
收藏集
1
关注标签
12
加入于