0

我试图让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 中的保留类名称或其他东西,可能是从上面提到的默认库中导入的,但一些谷歌搜索结果为空似乎是在撒谎。

知道会发生什么吗?

4

2 回答 2

1

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

我找到了这个教程

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

于 2010-12-28T02:44:47.653 回答
0

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

于 2010-11-21T13:26:08.003 回答