我需要的答案似乎应该是一个非常明显的问题,但我无法在任何地方找到它:Flash AS3 |删除或停止功能
如何停止Flash AS3中的函数?对于基本示例,当我按下按钮时,该功能开始工作。当我再次按下按钮时,功能停止。
更具体地说,我该如何定制这个if/boolean(或类似的)语句,以便当/当变量为真时,函数开始工作。一旦变量变为false,该功能将停止。当它再次成真时,这个过程会重复。
正在讨论的代码是另一个用户帮助为我创建的平移功能。
if(Zoomed == true) {
MovieClip.y = stage.stageHeight/2;
MovieClip.x = stage.stageWidth/2;
addEventListener(MouseEvent.MOUSE_MOVE, panFunction);
function panFunction(me: MouseEvent): void {
MovieClip.x = stage.stageWidth/2 - (stage.mouseX - stage.stageWidth/2);
MovieClip.y = stage.stageHeight/2 - (stage.mouseY - stage.stageHeight/2);
}
}
正如你所看到的,我希望它这样,当布尔函数“已缩放”是真实的,功能激活和平移功能的工作方式。问题是,当我回到Zoomed == false时,该函数仍在运行。我正在寻找如何阻止这种情况的发生。我试过'while'循环,但它最终只是冻结动画(可能是因为它是一个运动图像,它试图渲染每一帧与此代码)。
总结:我需要一种方法可以打开和关闭功能。或者,能够添加并在需要/不需要时删除它应该工作相同。任何帮助,这将是一个很大的帮助,谢谢!
你确定放大会失败吗?你可以交易放大的价值来确定吗? –
*跟踪值 –
也不要将函数定义放在if块中。只需将函数放在其他函数所在的位置,并在该块内部调用它。这可能会解决你的问题。 –