通知设置 新通知
Popup,当这个弹窗比较大的时候,会超出去
Unity • mikumimiku 回复了问题 • 2 人关注 • 3 个回复 • 91 次浏览 • 4 天前
编辑器文本控件行距与实际显示不一样
CocosCreator • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 91 次浏览 • 6 天前
插件中各种id算法能公布么,是不是一定不会重复
编辑器使用 • 北京王勃 回复了问题 • 2 人关注 • 2 个回复 • 158 次浏览 • 2025-04-18 09:44
发布微信小游戏,fairygui的进度条bar设置填充在安卓平台会引起花屏
Laya • devxi 回复了问题 • 2 人关注 • 2 个回复 • 993 次浏览 • 2025-04-17 16:38
CocosCreator游戏层的点击事件被fgui.GRoot阻挡
CocosCreator • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 98 次浏览 • 2025-04-17 09:18
插件能读取自定义数据(多语言id),对组件进行操作吗
编辑器使用 • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 146 次浏览 • 2025-04-17 09:04
scrollpane自定义边缘回弹位置问题
Unity • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 96 次浏览 • 2025-04-17 09:02
GList使用对象池问题
Unity • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 107 次浏览 • 2025-04-17 09:02
cocos3.8.1 hittest问题
CocosCreator • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 66 次浏览 • 2025-04-17 09:00
编辑器的控制器的显示栏部分填了名称后不显示备注
编辑器使用 • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 76 次浏览 • 2025-04-17 08:54
颜色模板改变字体颜色会自动改变吗?
Unity • 谷主 回复了问题 • 2 人关注 • 1 个回复 • 72 次浏览 • 2025-04-17 08:54
如何让Item跟随List的缩放而缩放?
编辑器使用 • lj92329 回复了问题 • 3 人关注 • 2 个回复 • 2260 次浏览 • 2025-04-16 22:06
FairyGUI Safe Area 适配
Unity • hwei 发表了文章 • 2 个评论 • 150 次浏览 • 2025-04-14 12:51
1. 写个自己的屏幕尺寸适配函数 updateScalerAndGRoot 。
* 目标是代替 Stage.cs 中的 HandleScreenSizeChanged 函数的后半部分中的 scaler.ApplyChange()与 GRoot.inst.ApplyContentScaleFactor() 这两个函数的功能。
2. 这个函数的实现内容是:
* 获取安全区域
* 根据你的适配方案计算 scaleFactor 和 scaleLevel,设置到 UIContentScaler 中。然后 StageCamera.screenSizeVer++。
* 根据你得适配方案,设置 GRoot.inst 的尺寸、缩放、位置。
3. 初始化 UI 系统时,调用 updateScalerAndGRoot (),然后监听 Stage.inst.onStageResized 事件。
* 在事件处理中调用 context.PreventDefault()。这样就能禁止默认的适配代码执行。
* 然后再执行 updateScalerAndGRoot()
至于适配 safe area 的算法。我的建议:// 让设计分辨率的范围,能再安全区域内全部显示,并且上下或左右顶住安全区域。
const scaleFactor = Math.min(safeAreaWidth / DESIGN_RES_X, safeAreaHeight / DESIGN_RES_Y);
// 让 GRoot 尺寸,在实际素尺寸上符合 safeAreaWidth, safeAreaHeight,但是设计尺寸放大 scaleFactor
gRoot.SetSize(Math.ceil(safeAreaWidth / scaleFactor), Math.ceil(safeAreaHeight / scaleFactor), true);
gRoot.SetScale(scaleFactor, scaleFactor);
// 让 GRoot 的位置,为 safeAreaX, safeAreaY
gRoot.SetXY(safeAreaX, safeAreaY, true);
这样,UI 设计时只要使用 DESIGN_RES_X, DESIGN_RES_Y 作为组件尺寸。可以保证 safe area 适配。 查看全部
FairyGUI 如何做Safe Area 适配,我现在找到所有网上已有信息,没一个靠谱的。分享一下我的做法:
1. 写个自己的屏幕尺寸适配函数 updateScalerAndGRoot 。
* 目标是代替 Stage.cs 中的 HandleScreenSizeChanged 函数的后半部分中的 scaler.ApplyChange()与 GRoot.inst.ApplyContentScaleFactor() 这两个函数的功能。
2. 这个函数的实现内容是:
* 获取安全区域
* 根据你的适配方案计算 scaleFactor 和 scaleLevel,设置到 UIContentScaler 中。然后 StageCamera.screenSizeVer++。
* 根据你得适配方案,设置 GRoot.inst 的尺寸、缩放、位置。
3. 初始化 UI 系统时,调用 updateScalerAndGRoot (),然后监听 Stage.inst.onStageResized 事件。
* 在事件处理中调用 context.PreventDefault()。这样就能禁止默认的适配代码执行。
* 然后再执行 updateScalerAndGRoot()
至于适配 safe area 的算法。我的建议:
// 让设计分辨率的范围,能再安全区域内全部显示,并且上下或左右顶住安全区域。
const scaleFactor = Math.min(safeAreaWidth / DESIGN_RES_X, safeAreaHeight / DESIGN_RES_Y);
// 让 GRoot 尺寸,在实际素尺寸上符合 safeAreaWidth, safeAreaHeight,但是设计尺寸放大 scaleFactor
gRoot.SetSize(Math.ceil(safeAreaWidth / scaleFactor), Math.ceil(safeAreaHeight / scaleFactor), true);
gRoot.SetScale(scaleFactor, scaleFactor);
// 让 GRoot 的位置,为 safeAreaX, safeAreaY
gRoot.SetXY(safeAreaX, safeAreaY, true);
这样,UI 设计时只要使用 DESIGN_RES_X, DESIGN_RES_Y 作为组件尺寸。可以保证 safe area 适配。
动效播放时有时候会中断
Unity • qq654040873 回复了问题 • 3 人关注 • 2 个回复 • 860 次浏览 • 2025-04-11 15:33