可以从我的HTML5游戏资源中逐行读取txt文件吗? (Resources =我游戏项目中的一个文件夹) 我保留了关于我游戏中关卡等级的文件信息。 我发现只使用PHP,Ajax的例子,但所有这些都需要服务器,但我想在服务器或离线模式下运行我的游戏。 提前谢谢。
答案 0 :(得分: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's 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);
}
});
不保证回调中的代码将在任何给定时间执行,因此我建议在其中放置一些启动新级代码,而不是代码中的任何其他位置。否则,您不知道您是否已下载级别信息。通过内联数据来避免此问题,如本答案的第一个片段所示。
答案 1 :(得分:1)
浏览器的JavaScript不能也不应该直接访问本地文件系统。