通知设置 新通知
FairyGUI组件移动文件夹问题
编辑器使用 • misakacirno 回复了问题 • 2 人关注 • 1 个回复 • 31 次浏览 • 3 天前
cc3.7.2,使用registerFont 注册字体,fairygui设置全局字体不生效?
CocosCreator • letYou 回复了问题 • 4 人关注 • 3 个回复 • 986 次浏览 • 2025-11-28 17:20
插件ImportResource后,资源不会立刻显示在包内,需要重新打开工程才能出现
回复编辑器使用 • misakacirno 发起了问题 • 1 人关注 • 0 个回复 • 53 次浏览 • 2025-11-28 16:12
在FairyGUI里创建组件到鼠标位置
编辑器使用 • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 130 次浏览 • 2025-11-27 19:53
unity里边TMP字体放在场景里边,改变缩放会导致字体显示异常
Unity • 谷主 回复了问题 • 2 人关注 • 2 个回复 • 111 次浏览 • 2025-11-27 19:53
关于发布后纹理集问题
CocosCreator • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 135 次浏览 • 2025-11-27 19:52
编辑器插件如何添加新发布属性
编辑器使用 • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 145 次浏览 • 2025-11-27 19:51
在编辑器中将滑动条属性中的最大值设置为0时可能会报错
编辑器使用 • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 114 次浏览 • 2025-11-27 19:50
控制器的动作如何停止
CocosCreator • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 117 次浏览 • 2025-11-27 19:49
Fgui 渲染层级问题
Unity • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 111 次浏览 • 2025-11-27 19:46
插件检查器ui如何更新
编辑器使用 • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 72 次浏览 • 2025-11-27 19:44
Unity中, 文本设置最小尺寸, 对齐设置居中, 自动大小设置宽度高度, 居中的设置无效
Unity • Xfeifan 回复了问题 • 3 人关注 • 2 个回复 • 305 次浏览 • 2025-11-25 16:16
列表中组件部分资源无法被裁剪
Unity • Xfeifan 回复了问题 • 3 人关注 • 3 个回复 • 127 次浏览 • 2025-11-25 16:14
cocos3.8.7中支持颜色混合
CocosCreator • GodChouyu 发表了文章 • 0 个评论 • 95 次浏览 • 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,谷主看到的话希望能合并一下。
FairyEditor FPackage GetItemByPath用法
编辑器使用 • misakacirno 发表了文章 • 1 个评论 • 99 次浏览 • 2025-11-04 16:18
例如"/textures/shop/shop_icon_01"
例如"/textures/shop/shop_icon_01"
关于分支发布后组件的型别消失问题
CocosCreator • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 134 次浏览 • 2025-11-03 22:29
导入的是jpg格式图片,如何导出jpg格式的图片。
Unity • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 130 次浏览 • 2025-11-03 22:20