AS3:布尔变量自己改变?
AS3: Boolean variables changing by themselves?
是的,您没看错标题。似乎布尔变量以某种方式自行切换为真。这是我能解释的唯一方法。这有可能吗?我有一个设置为 false 的布尔值,只能在严格条件下更改,但无论如何它都会与所有其他布尔变量一起更改。对此有什么合乎逻辑的解释吗?
由于您没有提供任何代码,我会回答您,让您能够找出是什么改变了您的变量。
既然你说你在用FlashDevelop,那我就给你一个具体的FlashDevelop答案吧。
如评论所述,使用 getter/setter 方法将允许您在代码中放置一个断点。所以不要像 private var myBool:Boolean;
那样做:
private var myBool_:Boolean = false; //the actual var
public function get myBool():Boolean { return myBool; }
public function set myBool(val:Boolean):void {
myBool_ = val;
}
现在在flash开发中,在这一行设置一个断点:myBool_ = val;
。要设置断点,请单击装订线中行的左侧(请参阅屏幕截图中红点的位置)
运行 您的代码,查看 Stack 面板,然后双击第二行。这将向您显示设置变量的内容。
Larger Image
是的,您没看错标题。似乎布尔变量以某种方式自行切换为真。这是我能解释的唯一方法。这有可能吗?我有一个设置为 false 的布尔值,只能在严格条件下更改,但无论如何它都会与所有其他布尔变量一起更改。对此有什么合乎逻辑的解释吗?
由于您没有提供任何代码,我会回答您,让您能够找出是什么改变了您的变量。
既然你说你在用FlashDevelop,那我就给你一个具体的FlashDevelop答案吧。
如评论所述,使用 getter/setter 方法将允许您在代码中放置一个断点。所以不要像
private var myBool:Boolean;
那样做:private var myBool_:Boolean = false; //the actual var public function get myBool():Boolean { return myBool; } public function set myBool(val:Boolean):void { myBool_ = val; }
现在在flash开发中,在这一行设置一个断点:
myBool_ = val;
。要设置断点,请单击装订线中行的左侧(请参阅屏幕截图中红点的位置)运行 您的代码,查看 Stack 面板,然后双击第二行。这将向您显示设置变量的内容。
Larger Image