Flixel - FlxButton就像多次单击一样

时间:2012-01-03 03:47:37

标签: actionscript-3 debugging flixel

我有几个由FlxGroups制作的对话框屏幕。第一个屏幕LandingScreen有一个按钮,用于打开第二个屏幕CargoShop。每当添加一个屏幕时,它将成为我的FlxState中的活动屏幕,其他屏幕的按钮设置为active = false;因此,当单击打开CargoShop屏幕的按钮时,它被设置在下一个更新周期到active = false;

现在,CargoShop屏幕上有一个关闭它的按钮,这使LandingScreen再次处于活动状态。出于某种原因,只要CargoShop屏幕关闭,就会立即打开一个新屏幕,就像再次点击商店按钮一样。

这些按钮不在彼此之上。有没有一些技巧我错过了FlxButton认为它被点击时不是吗?它只发生在我使用鼠标时;如果我用键盘命令关闭CargoScreen,则不会立即创建新的。{/ p>

2 个答案:

答案 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