可以从我的 HTML5 游戏资源中逐行读取 txt 文件吗?(资源 = 我的游戏项目中的文件夹之一)我在这个文件中保存了有关我的游戏关卡的信息。我只找到了使用 PHP、Ajax 的示例,但所有这些都需要服务器,但我想在服务器或离线模式下运行我的游戏。提前致谢。
问问题
255 次
2 回答
2
模板和预处理语言(如 LESS 或 CoffeeScript)经常使用的一种技术是使用带有type
浏览器无法识别的属性的脚本标签。这会导致浏览器和搜索引擎忽略它,但 JavaScript 可以访问它。
演示| 代码视图
<script type="text/mygamelevel" id="level1">
0010011001111011
0011011100010
10101110111101101
</script>
<script type="text/javascript">
var level = document.getElementById("level1").text;
var lines = level.split("\n");
for (var i=0; i<lines.length; i++) {
var line = lines[i];
if (!line.trim()) continue;
alert(line);
}
</script>
如果首选文件,您可以动态请求它。这是一个使用jQuery 的 get函数的例子。
$.get('levels/level1.txt', function(level) {
var lines = level.split("\n");
for (var i=0; i<lines.length; i++) {
var line = lines[i];
if (!line.trim()) continue;
alert(line);
}
});
无法保证回调中的代码将在任何给定时间执行,因此我建议将一些 start-new-level 代码放在那里,而不是在代码中的其他任何地方。否则,您不知道您是否已经下载了关卡信息。如本答案的第一个片段所示,通过内联数据可以避免此问题。
于 2013-03-09T10:00:10.993 回答
1
浏览器的 JavaScript 没有也不应该直接访问本地文件系统。
于 2013-03-09T09:54:14.463 回答