HTML5ゲームリソースから1行ずつtxtファイルを読み取ることは可能ですか?(リソース=ゲームプロジェクト内のフォルダーの1つ)このファイルには、ゲームのレベルに関する情報を保持しています。PHP、Ajaxを使用した例のみを見つけましたが、これにはすべてサーバーが必要ですが、サーバーまたはオフラインモードでゲームを実行したいと思います。前もって感謝します。
2 に答える
2
テンプレートや前処理言語(LESSやCoffeeScriptなど)でよく使用される手法の1つは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 に答える