我在FlashDevelop中启动了一个haxe js项目,我需要加载一个本地文件,这可能吗?该怎么做?
答案 0 :(得分:1)
简单的答案是使用"资源"。您为hxml
添加路径和标识符:
-resource hello_message.txt@welcome
您可以在代码中使用它:
var welcome = haxe.Resource.getString("welcome");
请注意,该操作在编译时执行,因此没有运行时开销。它基本上等同于将文件内容嵌入带引号的字符串中。
复杂的答案是使用宏。使用它们,您可以加载,解析,处理并执行您可能需要的所有操作。通常,您可以看到宏来加载配置文件(比如JSON或YAML)并将其用作应用程序的一部分(再次在编译时而不是在运行时)。
答案 1 :(得分:0)
你可以使用XMLHttpRequest获取文件,只要你将它们保存在公共场所(如果你把它放在网上)并且脚本可以访问它。
以下是从资产/ test.txt位置抓取文本文件的快速示例
这是我通常在我制作的JS游戏中做的事情,我发现它比仅使用-resource嵌入它们更灵活。
如果它不是您正在寻找的,那么Franco的回答应该会让您看到。
package ;
import js.html.XMLHttpRequest;
import js.html.Event;
class Start {
static function main() {
var request = new XMLHttpRequest();
// using the GET method, get the file at this location, asynchronously
request.open("GET", "assets/test.txt", true);
// when loaded, get the response and trace it out
request.onload = function(e:Event){
trace(request.response);
};
// if there's an error, handle it
request.onerror = function(e:Event) {
trace("error :(");
};
// send the actual request to the server
request.send();
}
}