function - 更改两个函数内的变量值并在另一个函数中显示结果

标签 function actionscript-3 variables

我是编程新手,我在下面的代码中遇到了问题。 我不断获得最后一个函数中创建的变量的相同值,而无需更改其他函数。 所以这就是我想要做的:我想使用上次应用的函数“onActivate”或“onDeactivate”中的变量“state”的值,并在“ShowState”函数内测试此变量“state”。

import flash.utils.Timer;
import flash.events.Event;

stop();

var state: Boolean = true;

	stage.addEventListener(Event.ACTIVATE, onActivate);
	stage.addEventListener(Event.DEACTIVATE, onDeactivate);
	
  function onActivate(Event): void {
			state == true;
		trace("inside");
	}

	function onDeactivate(Event): void {
			state == false;
		trace("outside");
	}
  
	var StateTime: Timer = new Timer(6000, 0);
	StateTime.addEventListener(TimerEvent.TIMER, ShowState);
	StateTime.start();
  
	function ShowState(evt: Event): void {
		if (state == true) {
			trace("Ready");
		}
	}

最佳答案

如果我正确理解您的问题,您想更改 onActivate 和 onDeactivate 函数中状态变量的值。

当您想要比较变量时,使用“==”,就像在 ShowState 函数中一样。

要设置一个值,使用单个“=”符号,而不是:

state == true; // in your onActivate function
// and
state == false;  // in your onDeactivate function

您应该使用:

state = true; // in your onActivate function
// and
state = false;  // in your onDeactivate function

除了设置值的问题之外,在 ActionScript 中以小写字符开头函数名称是一个很好的做法。

最后,函数声明中的参数没有在 onActivate 和 onDeactivate 函数中命名,说实话,我不确定这是否会导致任何错误,而是:

function onActivate(Event) : void {
    // your code
}

你可以使用:

function onActivate(e : Event) : void {
    // your code
}

希望一切都清楚了,祝你好运!

关于function - 更改两个函数内的变量值并在另一个函数中显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42562953/

相关文章:

c - 无法将 float 传递给另一个函数?

actionscript-3 - 如何使用 AS3 对 wav 文件进行上采样?

android - 适用于 Android 平台的 Flash API

python - PyQt 从另一个类访问属性

r - 使用创建新列的函数/循环

c++ - 从返回类型为 'void' 的函数获取结果,而结果变量是输入参数之一 - C++

function - Pascal - 在定义之前使用过程

actionscript-3 - 您可以在 Flex 3 中为非基于 UIComponent 的对象创建自定义事件吗?

javascript - 使用数据库中的选项添加新选择

arrays - 需要内存的类型化事物的语言不可知术语