起初?我是动作脚本3和Flashdevelop的新手。 为什么值var a不会不断增加,而只是等于1?哪里有错误?
package
{
import flash.display.MovieClip;
public class Main extends MovieClip
{
public function Main() {
var a: int;
a = a + 1;
trace(a);
}
}
}
答案 0 :(得分:3)
Main函数是Main Class的构造函数,因此只调用一次。变量'a'因此仅增加一次。您需要添加某种循环以使'a'更频繁地增加。
答案 1 :(得分:3)
您的变量是函数的本地变量,因此每次调用该函数时,都会创建一个具有默认值的新变量(对于int
类型为0),然后递增,然后跟踪,从而导致您看到1另外,如果您计划存储变量交叉运行,请使用SharedObject
存储,因为如果重新启动已编译的SWF,即使全局或静态类范围的变量也不会保留其值。
答案 2 :(得分:0)
以上所有答案都是正确的。这是一种可行的方式,类似于你正在做的事情。
package
{
import flash.display.MovieClip;
public var a:int = 0;
public class Main extends MovieClip
{
public function Main() {
a = a + 1;
trace(a);
Main();
}
}
}
注意:这不好!它会永远持续下去,没有好处。这可能更有意义:
package
{
import flash.display.MovieClip;
public class Main extends MovieClip
{
public function Main() {
var a:int = 0;
while (a < 1000) // desired upper value here
{
trace(a);
a++;
}
}
}
}
答案 3 :(得分:-1)
你的意思是什么?您的变量也没有初始值:
var a:int = 0;
a = a + 1;
trace(a);