我试图让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 是 FlashPunk 包中的一个类。在它的类定义中,构造函数不需要任何参数:
public function World() { ...
...然而,出于某种原因,Flash 期待两个论点。所以看起来一切都是正确的,但 Flash 以某种方式期望与 World 的构造函数定义的不同。
这两个问题结合在一起,看起来 Flash 正在获得另一个名为“World”的类的其他幻像版本,该类具有两个构造函数参数和不同的属性。
我已经进去检查了 ActionScript 设置。唯一引用的外部项目内容是默认的“$(AppConfig)/ActionScript 3.0/libs”。除了超级引擎设置一些参数的单个“Main.as”文件之外,我没有使用我自己的任何代码 - 当然,没有新的 World 类。
使用像“World”这样的通用名称,我认为这可能是 Flash 中的保留类名称或其他东西,可能是从上面提到的默认库中导入的,但一些谷歌搜索结果为空似乎是在撒谎。
知道会发生什么吗?