【问题标题】:Infinity in ActionScript 3ActionScript 3 中的无穷大
【发布时间】:2013-07-04 19:28:31
【问题描述】:

我不是 ActionScript 专家,但很遗憾,我必须修复一些损坏的 flash 文件。

我解决了大多数问题,除了一个:

class IndexNode extends Object
{
    var x1:Number = 1.#INF;
    var y2:Number = -1.#INF;
    var y1:Number = 1.#INF;
    var x2:Number = -1.#INF;

    function IndexNode()
    {
        x1 = Number.POSITIVE_INFINITY;
        x2 = Number.NEGATIVE_INFINITY;
        y1 = Number.POSITIVE_INFINITY;
        y2 = Number.NEGATIVE_INFINITY;
        return;
    }
}

这会在变量声明中产生“无效语法”和“#INF 之前的逗号”错误。这应该做什么,为什么它不起作用?大多数搜索引擎都忽略了井号,所以我不能用谷歌搜索它:-(

【问题讨论】:

  • 这是反编译的吗? “扩展对象”看起来是反编译的,而“1.#INF”不是 ActionScript 代码。同样,就像扩展 Object 一样,IndexNote() 函数末尾的 return 不是必需的。我认为你的反编译器不是很准确。
  • 是的,这是反编译的。请将此作为答案发布,我会接受。

标签: flash actionscript-3 flash-cs5


【解决方案1】:

我会简单地删除第一组变量初始化。它们无关紧要,因为变量是实例变量(也就是说,不是静态的)。因此,构造函数中的初始化无论如何都会覆盖这些值。

我怀疑第一组初始化只是做同样事情的重复方式,但无论如何,它不是必需的。

【讨论】:

  • 所有出现的 1.#INF 和 -1.#INF (字符串形式)可能应该替换为 Number.POSITIVE_INFINITY 和 Number.NEGATIVE_INFINITY (正确的动作脚本形式),除非它们像这些一样无用.
猜你喜欢
  • 2022-08-12
  • 2019-03-19
  • 2011-02-02
  • 2011-06-27
  • 1970-01-01
  • 2013-11-29
  • 1970-01-01
  • 1970-01-01
  • 2017-11-03
相关资源
最近更新 更多