我有几个由FlxGroups制作的对话框屏幕。第一个屏幕LandingScreen
有一个按钮,用于打开第二个屏幕CargoShop
。每当添加一个屏幕时,它将成为我的FlxState中的活动屏幕,其他屏幕的按钮设置为active = false;
因此,当单击打开CargoShop
屏幕的按钮时,它被设置在下一个更新周期到active = false;
。
现在,CargoShop
屏幕上有一个关闭它的按钮,这使LandingScreen
再次处于活动状态。出于某种原因,只要CargoShop
屏幕关闭,就会立即打开一个新屏幕,就像再次点击商店按钮一样。
这些按钮不在彼此之上。有没有一些技巧我错过了FlxButton认为它被点击时不是吗?它只发生在我使用鼠标时;如果我用键盘命令关闭CargoScreen
,则不会立即创建新的。{/ p>
答案 0 :(得分:0)
您可以将mouseEnable = mouseChildren = false
设置为非活动屏幕,以确保它不会接收鼠标输入。虽然你的问题似乎 - 首先看来 - 是一个逻辑上的麻烦。
答案 1 :(得分:0)
基本事实我刚刚了解了FlxGroup
s:将一个组设置为活动状态:false!=将该组的每个成员设置为活动状态:false。
假设您有一群FlxGroup
,其中包含一堆FlxButton
个。如果您点击某个按钮,其中一个结果是FlxGroup
设置为active = false
,则按钮本身仍处于活动状态。
解决方案:致电......
yourGroup.setAll("active", false);
这会将FlxGroup
的每个成员设置为active = false
,按钮会知道无法点击它。
来源:funstorm - 参见解决方案#2