cocos creator踩坑记录

1.节点隐藏会关闭节点内的所有渲染,事件

例如我有一个场景,有一个头像节点,在载入这个场景的时候,如果我在编辑器那边默认把头像的active = false,那么只有重新设置active = true时,才会执行其中绑定的脚本onLoad,onEnable,才会去刷新相对应的widget,计算适配的最新坐标。
也就是说如果不去手动设置acitve = true,那么我头像的一切都不会初始化。

2.label文本的宽度在start()周期函数才能获取到

在onload(),onEnable()这里是获取不到最新的文本宽度的(初始化赋值文本内容)

3.官方自动图集bug

字体文件夹下如果用cocos官方的自动图集配置,那么退出游戏场景的时候,如果程序手动卸载了游戏场景的资源(跟字体文件夹下的字体资源没有关系),那么重新进入该场景,字体会花屏。

4.透明图片存在bug

如果项目中实用了交叉图集,比如我可能使用了公共图集资源的一张透明图片,那么一定要勾选掉trim这个选项,默认勾选的时候这张图可能不会透明并且会变成色块

5.toggle组件的按钮bug

toggle按钮如果通过程序设置ischeck的属性时,会强制触发此节点组件上的toggle事件。若想解决此问题,要么修改官方底层代码,要么自己用其他的替代方案解决。

Cocos Creator 中,你可以使用自定义材质来实现顶点着色渲染。顶点着色渲染是一种在渲染管线中对模型的每个顶点进行颜色计算的技术,通过改变顶点的颜色来实现特定效果。下面是一个简单的示例代码: ```javascript // 在节点上添加一个脚本组件 VertexColor.js cc.Class({ extends: cc.Component, properties: { color: cc.Color.WHITE, // 自定义颜色 }, // 在渲染组件的 updateMaterial 方法中设置材质的属性 updateMaterial: function() { var material = this.getComponent(cc.RenderComponent).getMaterial(0); // 获取渲染组件的材质 material.setProperty('u_color', this.color); // 设置自定义颜色属性 }, // 在 onLoad 方法中注册 updateMaterial 方法到渲染组件的 updateMaterial 方法中 onLoad: function() { this.getComponent(cc.RenderComponent).updateMaterial = this.updateMaterial.bind(this); }, }); ``` 在上述代码中,我们假设节点上有一个渲染组件(如 Sprite、Mesh 等),我们通过自定义脚本组件 `VertexColor.js` 来实现顶点着色渲染。脚本组件中定义了一个 `color` 属性,用于设置自定义颜色。在 `updateMaterial` 方法中,我们获取渲染组件的材质,并设置自定义颜色属性。最后,在 `onLoad` 方法中将 `updateMaterial` 方法注册到渲染组件的 `updateMaterial` 方法中,以便在每帧更新时调用。 然后,你可以在 Cocos Creator 编辑器中将该脚本组件 `VertexColor.js` 添加到需要进行顶点着色渲染的节点上。在脚本组件的属性面板中,可以设置自定义的颜色值。 需要注意的是,顶点着色渲染需要使用支持顶点着色的材质和渲染组件,例如使用自定义的 Shader 或在材质中设置相应的 Uniform 属性等。具体的实现方式和效果可以根据你的需求和场景进行自定义调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值