Web サイトに直接埋め込まれた HTML5 と JavaScript を使用して、Web RPG を作成しています。ゲームはコンピュータの対戦相手に対するシングル プレイヤー ゲームになります... デザインはトップダウン 2D のゼルダ スタイルになります。リアルタイムですが、コンピュータ プレイヤーとの会話はスクリプト化されます... 彼らが何か言うと、いくつかの応答オプションが与えられます。
ダイアログは XML で書こうと思っていたのですが、JavaScript の方が解析しやすいので JSON の方がいいと言われました。
XMLでAbstract Chaosの回答を見ました...
<?xml version="1.0" encoding="UTF-8"?>
<npcs>
<npc name="Abstract">
<dialogue>
<text>Welcome #{PlayerName} to Stack Exchange, What would you like to know? </text>
<options>
<option action="dialogue5">Tell me about Stack Exchange?</option>
<option action="quest1">Give me quest</option>
<option action="object1">Give me object</option>
</options>
</dialogue>
<dialogue id="5">
<text>Stack Exchange is a fast-growing network of 87 question and answer sites on diverse topics</text>
<text>We build libraries of high-quality questions and answers, focused on the most important topics in each area of expertise</text>
</dialogue>
</npc>
</npcs>
そして、JSONで同じ種類のレイアウトをどのように実現できるか疑問に思っていました...
私の質問は次のとおりです。
- JSON で RPG ダイアログ スクリプトをレイアウトして JavaScript で解析するにはどうすればよいですか?
- JavaScript ロジックを使用して、特定の条件で JSON を解析する方法の例を教えてください (例: NPC が「助けてくれませんか?」という質問をする場合、JSON には「はい」と「いいえ」のオプションが必要です。プレイヤーが実際にそのスキルセットを持っている場合)。
- JSON ダイアログ テキストは、プロジェクト フォルダー内の別の「dialog」フォルダーに保存されるため、外部からアクセスする必要があります。
JSONをレイアウトして解析する方法について私が見つけた唯一のものは次のとおりです。
var json = '{"result":true,"count":1}',
obj = JSON && JSON.parse(json) || $.parseJSON(json);
alert(obj.result);
しかし、XML に見られるようなきちんとした要素はありません。
どんな助けでも大歓迎です...
ありがとう!
外部の JSON テキスト ファイルを読み込んで警告しようとしても機能しません。
HTML:
<html>
<head>
<title>Working with JSON</title>
<script src="jquery.js"></script>
<script>
(function() {
var data = "/JSON_TEXT.txt";
var first_q = data.npcs[0].dialogs[0];
alert(first_q.text);
}());
</script>
</head>
<body>
</body>
</html>
JSON プレーン テキスト ファイル: JSON_TEXT.txt
'npcs': [
{
'name': 'Abstract',
'dialogs': [
{
'text': 'Welcome',
'options': [
'df', 'f'
]
}
]
}
]