【问题标题】:Tracing Variables in AS3 is not workingAS3 中的跟踪变量不起作用
【发布时间】:2011-01-21 23:28:57
【问题描述】:
var a:Number;
var b:Number;

a + b = 17;

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

为什么这不起作用?在 AS3 的同一个跟踪语句中跟踪多条信息有什么用吗?

【问题讨论】:

  • 这让我很困惑a + b = 17 确实有效......
  • 我建议您将问题的名称修改为更具描述性的名称,例如“AS3 中的跟踪变量不起作用”

标签: flash actionscript-3 actionscript flash-cs4


【解决方案1】:

您的代码中有两个问题。其他答案适用的一个是跟踪问题。 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,也将不起作用。

干杯。

【讨论】:

  • 是否有可能让它每次运行时总是想到不同的解决方案?
  • 另外,谢谢。这很有帮助。
  • 您正在寻找 Math.random()。它创建一个介于 0.0 和 1.0 之间的随机数。如果你将它乘以你的最大值,比如 Math.random() * 10 如果你想要一个介于 0 和 10 之间的数字,那么你就在路上了。
  • 再次感谢。这很令人困惑,但如果我可以这样说而不是陷入陈词滥调,那么拼图开始就位。
  • 另外,你将如何追踪结果?
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-09
      • 1970-01-01
      相关资源
      最近更新 更多