在AS3中跟踪变量不起作用

时间:2011-01-21 23:28:57

标签: flash actionscript-3 actionscript flash-cs4

var a:Number;
var b:Number;

a + b = 17;

trace ("A: "a"       B: "b);

为什么这不起作用?是否有关于在AS3中的同一跟踪语句中跟踪多条信息的内容?

3 个答案:

答案 0 :(得分:2)

您必须使用加号(+)符号将字符串连接在一起。

trace ("A: " + a + "B: " + b);

答案 1 :(得分:2)

在ActionScript 3中,trace方法可以使用许多参数。但它们必须像任何方法调用一样以逗号分隔。所以你可以使用:

trace ("A:", a, "B:", b);

答案 2 :(得分:2)

您的代码中有两个问题。其他答案适用的是跟踪问题。 trace()调用的参数是任意数量的字符串,以逗号分隔。但是,通常只提供一个并将字符串部分与+符号连接起来。

trace("A: "+a+", B: "+b);

然而,代码中的真正问题是a + b = 17,无论是写作还是思考。如果在那里有多个未确定的变量,则无法计算方程的数值结果。如果你知道三个变量中的两个,A + B = C只能在代码中解决。如果你想写一些适度有用的东西,试试

var a:Number = 5;
var b:Number;

b = 12 - a;

trace("A: "+a+", B: "+b);

除了数学思考,在代码中你不是在编写数学方程式,而是在编写赋值表达式。无论=符号右侧的表达式是什么,都会被分配到=符号左侧的变量。使用运算符(+, *, -, /, %等)将一个表达式分配给两个变量永远不会有效,并希望数学能够神奇地解决自己。 a + b = something永远不会有效,something = a + b可能。此外,尝试将某些内容分配给常量并希望它将自行解决,例如12 = a + b,也将无效。

干杯。