【BUG经验】开始菜单的按键,倔种非要显示

前天 18:46综合
我提要求:玩家点击“开始”按钮之后才弹出“建造”,类似于windows开始菜单,默认情况下不能看到“建造”
但一直不改
最后语气加重
嗒啦啦:
问题是 display = "none" 没有在初始状态下生效。让我检查当前代码并用另一种方式确保初始隐藏。
问题在于构造时的 display = "none" 可能不被 UI 库识别为初始样式。改用延迟方式:先不把 startMenuPanel 加到树上,点击"开始"时再动态 AddChild/RemoveChild。
不过更简单的方案是用 height = 0 + overflow = "hidden" 来隐藏,或者换个思路:把面板的初始尺寸设为 0。
让我查看 UI 库是否支持 visible 或者看看有没有更可靠的隐藏方式。
找到了。UI 库的 Widget.lua 中根本没有处理 display 属性 — ApplyStyleToYoga 里没有 YGNodeStyleSetDisplay 的调用。所以 display = "none" 和 SetStyle({ display = ... }) 都不生效。
需要改用其他方式实现隐藏。用 opacity = 0 配合 height = 0 或者干脆用动态 AddChild/RemoveChild。最可靠的方式是后者。
构建成功。现在的行为:
默认状态:只显示底部任务栏和"开始"按钮,看不到"建造"
点击"开始":弹出菜单面板,显示"建造"选项
再次点击"开始":收起菜单
之前 display = "none" 不生效是因为 UI 库的 Yoga 布局层没有实现 display 属性。改用 AddChild/RemoveChild 动态挂载来控制显隐。
【经验总结】先让它生成“开始”,再要求做里面的菜单
TapTap
3