【问题标题】:Phantom class definitions in Flash CS5?Flash CS5 中的 Phantom 类定义?
【发布时间】:2010-06-16 17:01:07
【问题描述】:

我正在尝试让 FlashPunk 在 Flash CS5 IDE 中工作(不要问),但我无法编译它。

在严格模式下,我得到的错误是:

net/flashpunk/FP.as, Line 95
1119: Access of possibly undefined property _inherit
through a reference with static type World.

通常,这意味着缺少变量定义或正在编译的类看不到该变量。据推测,该框架是为其他人编译的,所以我很确定这不是问题,但我还是进去了并确保变量存在并将这些变量设置为公共(它们被设置为内部),但错误仍然发生了。几乎就像编译器没有看到属性定义一样。

如果我关闭“严格模式”,应用程序会编译,但随后出现此错误:

ArgumentError: Error #1063:
Argument count mismatch on World().
Expected 2, got 0.

现在,World 是 Fl​​ashPunk 包中的一个类。在它的类定义中,构造函数不需要任何参数:

public function World() { ...

...然而,出于某种原因,Flash 需要两个参数。因此,看起来一切都是正确的,但 Flash 以某种方式期待与 World 的构造函数所定义的不同。

这两个问题结合在一起,看起来 Flash 正在获得另一个名为“World”的类的其他幻影版本,它有两个构造函数参数和不同的属性。

我已经进去检查了 ActionScript 设置。唯一引用的外部项目内容是默认的“$(AppConfig)/ActionScript 3.0/libs”。除了超级引擎设置一些参数的单个“Main.as”文件之外,我没有使用我自己的任何代码 - 当然,没有新的 World 类。

使用像“World”这样的通用名称,我想这可能是 Flash 中的保留类名或其他东西,可能是从上面提到的默认库中导入的,但一些谷歌搜索结果为空似乎是在撒谎。

知道会发生什么吗?

【问题讨论】:

    标签: flash actionscript-3 flash-cs5


    【解决方案1】:

    是的,我也看到了。然后我开始寻找教程。看起来 adobe 忽略了物理面板,但留在了物理 API 中。您仍然可以使用 Actionscript 使用本机物理。

    我找到了这个教程

    http://heftybyte.com/flash/flash-cs5-physics/

    【讨论】:

      【解决方案2】:

      有点晚了,但我在 Motor2 上遇到了同样的问题。原来 World 是一个未记录的类,它是 Flash CS5 内置物理引擎的一部分。您可以通过完全限定对 World 的引用来规避该问题,但这并不能阻止它在库本身内出错。

      【讨论】:

      • 听起来不错。感谢您抽出宝贵时间回答这样一个古老而悬而未决的问题。我已经继续前进,但希望这对其他人有用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-07
      相关资源
      最近更新 更多