通知设置 新通知
cocos creator 使用的fairygui sdk目前的最新版本是多少了。 我npm安装的是1.2.2是新版本吗?
回复yydfw 回复了问题 • 1 人关注 • 1 个回复 • 198 次浏览 • 2026-04-07 18:14
关于发布后纹理集问题
chenzm 回复了问题 • 3 人关注 • 2 个回复 • 423 次浏览 • 2026-01-24 16:24
控制器的动作如何停止
heartkey 回复了问题 • 3 人关注 • 2 个回复 • 389 次浏览 • 2025-12-15 14:19
在fairygui里有没有像cocos creator中一样的预设体
Erin 回复了问题 • 3 人关注 • 2 个回复 • 510 次浏览 • 2025-12-15 14:19
cc3.7.2,使用registerFont 注册字体,fairygui设置全局字体不生效?
letYou 回复了问题 • 4 人关注 • 3 个回复 • 1367 次浏览 • 2025-11-28 17:20
cocos3.8.7中支持颜色混合
GodChouyu 发表了文章 • 0 个评论 • 296 次浏览 • 2025-11-14 19:05
两种方法。
1.可以修改源码的情况下,修改BlendMode.ts文件的apply函数。
public static apply(node: Node, blendMode: BlendMode) {
let f = factors[<number>blendMode];
node.components.forEach(component => {
if (component instanceof UIRenderer) {
component["_srcBlendFactor"] = f[0];
component["_dstBlendFactor"] = f[1];
}
})
}2.不修改源码,覆盖GObject的setup_beforeAdd方法。随意一个脚本中添加并调用Init();
public static init() {
const factors = [
[gfx.BlendFactor.SRC_ALPHA, gfx.BlendFactor.ONE_MINUS_SRC_ALPHA], //normal
[gfx.BlendFactor.ONE, gfx.BlendFactor.ONE], //none
[gfx.BlendFactor.SRC_ALPHA, gfx.BlendFactor.ONE], //add
[gfx.BlendFactor.DST_COLOR, gfx.BlendFactor.ONE_MINUS_SRC_ALPHA], //mul
[gfx.BlendFactor.ONE, gfx.BlendFactor.ONE_MINUS_SRC_COLOR], //screen
[gfx.BlendFactor.ZERO, gfx.BlendFactor.ONE_MINUS_SRC_ALPHA], //erase
[gfx.BlendFactor.ZERO, gfx.BlendFactor.SRC_ALPHA], //mask
[gfx.BlendFactor.ONE_MINUS_DST_ALPHA, gfx.BlendFactor.DST_ALPHA], //below
[gfx.BlendFactor.ONE, gfx.BlendFactor.ZERO], //off
[gfx.BlendFactor.SRC_ALPHA, gfx.BlendFactor.ONE_MINUS_SRC_ALPHA], //custom1
[gfx.BlendFactor.SRC_ALPHA, gfx.BlendFactor.ONE_MINUS_SRC_ALPHA], //custom2
[gfx.BlendFactor.SRC_ALPHA, gfx.BlendFactor.ONE_MINUS_SRC_ALPHA], //custom2
];
const GObjectSetupBeforeAdd = fgui.GObject.prototype.setup_beforeAdd;
fgui.GObject.prototype.setup_beforeAdd = function (this: fgui.GObject, buffer: ByteBuffer, beginPos: number) {
GObjectSetupBeforeAdd.call(this, buffer, beginPos);
let f = factors[<number>this.blendMode];
this.node.components.forEach(component => {
if (component instanceof cc.UIRenderer) {
component["_srcBlendFactor"] = f[0];
component["_dstBlendFactor"] = f[1];
}
})
}
}
因为blend模块的相关代码没有导出,所以先这么处理。factors数组是从fgui源码中复制出来的。
_srcBlendFactor和_dstBlendFactor两个属性的cocos源码在cocos源码地址。
已经提交pr,谷主看到的话希望能合并一下。
查看全部
两种方法。
1.可以修改源码的情况下,修改BlendMode.ts文件的apply函数。
public static apply(node: Node, blendMode: BlendMode) {
let f = factors[<number>blendMode];
node.components.forEach(component => {
if (component instanceof UIRenderer) {
component["_srcBlendFactor"] = f[0];
component["_dstBlendFactor"] = f[1];
}
})
}2.不修改源码,覆盖GObject的setup_beforeAdd方法。随意一个脚本中添加并调用Init();public static init() {
const factors = [
[gfx.BlendFactor.SRC_ALPHA, gfx.BlendFactor.ONE_MINUS_SRC_ALPHA], //normal
[gfx.BlendFactor.ONE, gfx.BlendFactor.ONE], //none
[gfx.BlendFactor.SRC_ALPHA, gfx.BlendFactor.ONE], //add
[gfx.BlendFactor.DST_COLOR, gfx.BlendFactor.ONE_MINUS_SRC_ALPHA], //mul
[gfx.BlendFactor.ONE, gfx.BlendFactor.ONE_MINUS_SRC_COLOR], //screen
[gfx.BlendFactor.ZERO, gfx.BlendFactor.ONE_MINUS_SRC_ALPHA], //erase
[gfx.BlendFactor.ZERO, gfx.BlendFactor.SRC_ALPHA], //mask
[gfx.BlendFactor.ONE_MINUS_DST_ALPHA, gfx.BlendFactor.DST_ALPHA], //below
[gfx.BlendFactor.ONE, gfx.BlendFactor.ZERO], //off
[gfx.BlendFactor.SRC_ALPHA, gfx.BlendFactor.ONE_MINUS_SRC_ALPHA], //custom1
[gfx.BlendFactor.SRC_ALPHA, gfx.BlendFactor.ONE_MINUS_SRC_ALPHA], //custom2
[gfx.BlendFactor.SRC_ALPHA, gfx.BlendFactor.ONE_MINUS_SRC_ALPHA], //custom2
];
const GObjectSetupBeforeAdd = fgui.GObject.prototype.setup_beforeAdd;
fgui.GObject.prototype.setup_beforeAdd = function (this: fgui.GObject, buffer: ByteBuffer, beginPos: number) {
GObjectSetupBeforeAdd.call(this, buffer, beginPos);
let f = factors[<number>this.blendMode];
this.node.components.forEach(component => {
if (component instanceof cc.UIRenderer) {
component["_srcBlendFactor"] = f[0];
component["_dstBlendFactor"] = f[1];
}
})
}
}因为blend模块的相关代码没有导出,所以先这么处理。factors数组是从fgui源码中复制出来的。
_srcBlendFactor和_dstBlendFactor两个属性的cocos源码在cocos源码地址。
已经提交pr,谷主看到的话希望能合并一下。
关于分支发布后组件的型别消失问题
谷主 回复了问题 • 2 人关注 • 1 个回复 • 293 次浏览 • 2025-11-03 22:29
在cocos creator中3.8.4关联系统失效
loop 回复了问题 • 2 人关注 • 2 个回复 • 378 次浏览 • 2025-10-13 20:31
creator 3.8.7引擎下,textinput的bug
谷主 回复了问题 • 2 人关注 • 1 个回复 • 425 次浏览 • 2025-10-11 16:26
图形的圆角在cocos中失效
谷主 回复了问题 • 2 人关注 • 1 个回复 • 352 次浏览 • 2025-10-11 14:48
多边形图形作为遮罩,在CocosCreator中不生效
谷主 回复了问题 • 2 人关注 • 1 个回复 • 449 次浏览 • 2025-09-22 11:42
Cocos Creator 鼠标事件中Event.button 值一直返回0,无法取分左右键。
hhp 回复了问题 • 3 人关注 • 3 个回复 • 922 次浏览 • 2025-09-19 15:42
在cocoscreator3.8.2里FairyGUI 设置的add等叠加模式无法生效
谷主 回复了问题 • 2 人关注 • 1 个回复 • 536 次浏览 • 2025-09-05 16:46
cocos2.2.1,使用装载器GLoader ,加载url,,url是https地址的,,,在安卓手机上不显示,,麻烦可以看一下这个问题吗
回复cocos0524 发起了问题 • 1 人关注 • 0 个回复 • 496 次浏览 • 2025-07-16 19:08
制作动效时改变spine播放的动画名称实际未生效
柠檬冰 回复了问题 • 2 人关注 • 2 个回复 • 605 次浏览 • 2025-07-14 19:02
组件出场音效没有播放
谷主 回复了问题 • 2 人关注 • 1 个回复 • 469 次浏览 • 2025-06-23 17:10