3

I just started trying out Haxe to make a web-app, and I would like to use CreateJS, which has a Haxe extern lib thingy. I'm using FlashDevelop as my IDE.

So I created a new Haxe JS project in FlashDevelop, and installed CreateJS with "haxelib install createjs". Thougg now I try to add an import to my Main.hx, but it doesn't work. My import looks like: "import createjs.easeljs.Ticker;" (got that from an example, just copied it but didn't work :s) I also added a new map "lib" to my project, in which I added the createjs stuff.

The error I get is: src/Main.hx:3: characters 0-31 : Class not found : createjs.easeljs.Ticker

enter image description here

Anything else I have to do to make this work?

Thanks!

-Pablo

4

3 回答 3

6

Haxe externs通常的工作方式是:

  1. 您手动包含原始 Javascript*。在您的情况下,您将指向 CreateJS javascript ( 的标签添加到您的 HTML 文件中。

  2. 使用“extern”文件是为了让 Haxe 知道其他文件在那里,并且知道可以调用哪些方法、更改属性等。它还有助于保持自动完成功能的完整和有用。

  3. 如果 externs 保存在库中,则需要安装该库 ( haxelib install createjs),然后需要在构建中包含该库。我通过添加-lib createjs到 hxml 构建文件来做到这一点。Flash Develop 可以通过打开Project->Properties->Compiler Options“createjs”并将其添加到“库”列表来完成此操作。

  4. 在您的 Haxe 文件中,您使用“包含”语句,就像上面一样。

根据您上面的描述,我认为您在包含库的第 3 步中遗漏了这一点。我不是 Flash Develop 用户,所以我不确定它是否完全不同,但看起来在您的后续回答中,您已经从“createjs”haxelib 复制了一些 *.hx 文件,就足够了使其编译。但是,如果将“-lib createjs”行添加到 hxml 构建文件中,则不再需要这些。

希望这可以帮助您入门,如果您遇到困难,请告诉我,我会尝试更新我的答案。

(*) 一个例外是一些库为您包含 Javascript。例如,当您在 Haxe 标准库中使用 js.JQuery 时 - 这包括为您提供的原始 javascript。大多数库您必须自己添加脚本。

(编辑:添加了在 Flash Develop 中添加库的说明,感谢评论)

于 2012-09-10T02:06:56.323 回答
2

在 FD 中转到 Project->Properties,然后到 Compiler Options 选项卡,您可以添加使用 haxelib 安装的每个必需的 lib,而无需将 lib 源代码复制到项目源代码树中。这仅在您需要修改库时才有用。

于 2012-09-10T04:49:24.700 回答
0

好的,我在地图上玩了更多,现在它已经修复了,现在看起来是这样的:

在此处输入图像描述

如果有人有更多关于外部人员的信息,以及他们是如何工作的,我仍然会很感激!

谢谢

于 2012-09-09T17:38:48.247 回答