FlashDevelop, Haxe如何导入CreateJS?

3
我刚开始尝试使用Haxe制作Web应用程序,并希望使用CreateJS,它有一个Haxe extern库。我正在使用FlashDevelop作为我的IDE。
因此,在FlashDevelop中创建了一个新的Haxe JS项目,并使用"haxelib install createjs"安装了CreateJS。但是现在我尝试在Main.hx中添加导入,但它不起作用。我的导入看起来像这样:"import createjs.easeljs.Ticker;"(从示例中得到的,只是复制了一下但没用:s)我还添加了一个名为"lib"的新映射到我的项目中,并在其中添加了createjs的东西。
我得到的错误是:src/Main.hx:3: characters 0-31 : Class not found : createjs.easeljs.Ticker 有什么其他事情我需要做才能使它工作吗?
谢谢!
-Pablo
3个回答

6
通常情况下,Haxe externs 的工作方式如下:
  1. 您需要手动包含原始的 JavaScript *。在您的情况下,您需要将指向 CreateJS JavaScript 的标签添加到 HTML 文件中。

  2. “外部”文件被用来让 Haxe 知道其他文件的存在,并知道可以调用哪些方法、更改哪些属性等。这也有助于保持自动完成功能的完全可用性和实用性。

  3. 如果这些外部文件被保存在库中,则需要安装该库(haxelib install createjs),然后将该库包含在构建中。我通过在 hxml 构建文件中添加 -lib createjs 来实现此目的。Flash Develop 可以通过打开 Project->Properties->Compiler Options 并将 “createjs” 添加到库列表中来执行此操作。

  4. 在您的 Haxe 文件中,您可以使用 "include" 语句,就像您上面做的那样。

根据您上面的描述,我认为您在第三步中遗漏了包含库的部分。我不是Flash Develop的用户,所以我不确定是否有所不同,但看起来在您的后续答案中,您复制了一些来自“createjs” haxelib的*.hx文件,只是足够使其编译。然而,如果您将“-lib createjs”行添加到hxml构建文件中,您就不需要这些文件了。
希望这可以帮助您入门,如果您遇到困难,请告诉我,我会尝试更新我的答案。
(*)其中一些库的例外是它们已经包含了JavaScript。例如,在Haxe标准库中使用js.JQuery时,它已经为您包含了原始JavaScript。大多数库您都需要自己添加脚本。
(编辑:感谢评论,添加了在Flash Develop中添加库的说明)

好的,我终于测试了一下,并且让它正常工作了!FlashDevelop使用“-lib createjs”的方法是:进入菜单项目->属性->编译器选项->将“createjs”添加到库列表中。我的HTML和文件夹结构现在看起来像这样:http://i.imgur.com/8nqYa.png - The Oddler
太好了!很高兴你让它工作了...我可能会编辑我的答案,以展示如何在Flash Develop中添加库。 - Jason O'Neil

2

在FD中,前往“项目”->“属性”,然后到“编译器选项”标签页。在那里,您可以添加每个使用haxelib安装的所需库,而无需将库源代码复制到您的项目源代码树中。这只有在您需要修改库时才有用。


0

好的,我又玩了一下地图,现在已经修复了,这是现在的样子:

enter image description here

如果有人对externs以及它们的工作方式有更多信息,仍然会非常感激!谢谢。

我需要更多的空间来回答,因此请看下面的答案。看起来你需要在构建中包含“-lib createjs”,这将为您包含createjs库中的所有外部引用。希望这可以帮助你,Jason。 - Jason O'Neil
2
正如Axel所指出的那样,您不需要将这些文件复制到您的项目中,但是您需要告诉FD您想要使用createjs库:项目属性>编译器选项>库>在列表中添加“lib”。但是,如果您真的想要将类复制到/lib目录中,您必须将此/lib目录添加到类路径中:项目属性>类路径。 - Philippe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接