将 Dart 用于 HTML5 应用程序,但想从服务器端加载文件
Using Dart for HTML5 app, but want to load a file from the server-side
我是 Dart 的新手,正在尝试创建我的第一个 Dart 网页游戏。抱歉,如果我错过了与此相关的已回答问题。我确实进行了搜索,但运气不佳。
要加载关卡,我希望能够读取包含关卡数据的文本文件,然后对其进行处理并使用它来构建关卡。不幸的是,如果您想使用 File() 对象,我 运行 无法同时加载 dart:io 和 dart:html 的问题。据我所知,dart:html 的 File() 对象是客户端的,因此无法打开服务器上的文本文件。
是否有其他方法从服务器读取文本文件?如果没有,我是否需要设置一个数据库来存储游戏数据,或者有没有更好的选择我在这里没有考虑?
如果有帮助的话,我目前使用的游戏数据只是一个文本文件,它给出了关卡外观的地图。例如:
~~~~Z~~~~
P
GGGGLLGGG
这些字符中的每一个都表示要放置在关卡中的一种方块。这不是存储关卡的最佳方式,但它非常容易创建并且易于阅读和处理。
非常感谢您的帮助!
如果您正在加载的文件是 index.html
您的游戏从中加载的文件的同级文件,那么您只需发出 HTTP 请求即可获取该文件。
要下载 web/level1.json
您可以使用
Future<String> getGameData(String name) {
var response = await HttpRequest.getString('${name}.json');
print(response);
return response;
}
otherMethod() async {
var data = await getGameData('level1');
}
另见 https://api.dartlang.org/stable/1.24.3/dart-html/HttpRequest-class.html
我是 Dart 的新手,正在尝试创建我的第一个 Dart 网页游戏。抱歉,如果我错过了与此相关的已回答问题。我确实进行了搜索,但运气不佳。
要加载关卡,我希望能够读取包含关卡数据的文本文件,然后对其进行处理并使用它来构建关卡。不幸的是,如果您想使用 File() 对象,我 运行 无法同时加载 dart:io 和 dart:html 的问题。据我所知,dart:html 的 File() 对象是客户端的,因此无法打开服务器上的文本文件。
是否有其他方法从服务器读取文本文件?如果没有,我是否需要设置一个数据库来存储游戏数据,或者有没有更好的选择我在这里没有考虑?
如果有帮助的话,我目前使用的游戏数据只是一个文本文件,它给出了关卡外观的地图。例如:
~~~~Z~~~~
P
GGGGLLGGG
这些字符中的每一个都表示要放置在关卡中的一种方块。这不是存储关卡的最佳方式,但它非常容易创建并且易于阅读和处理。
非常感谢您的帮助!
如果您正在加载的文件是 index.html
您的游戏从中加载的文件的同级文件,那么您只需发出 HTTP 请求即可获取该文件。
要下载 web/level1.json
您可以使用
Future<String> getGameData(String name) {
var response = await HttpRequest.getString('${name}.json');
print(response);
return response;
}
otherMethod() async {
var data = await getGameData('level1');
}
另见 https://api.dartlang.org/stable/1.24.3/dart-html/HttpRequest-class.html