「Ajaxでエロゲーを作るブログ」[ゲーム][DHTML][XML][ねこみみか](2)/XMLの連結
ねこみみか第2話。
- サンプル:ねこみみか(2)/XMLの連結
複数XMLファイルへの対応を行いました。
- XMLの接続
00000000.xml
<?xml version="1.0" encoding="UTF-8" ?> <pages> <page> <character>Lecan03.gif</character> <background>BG03.jpg</background> <text>ねこみみか (2)</text> </page> <!-- 略 --> <page> <character>Lecan01.gif</character> <text>レカン:わらわの名はレカンじゃ。この名も、そなたの知る女性に似せて付けられたのであろう。心証を悪くするでないぞ。</text> <next>00000001.xml</next> </page> </pages>
「次のXML」を<next>タグで指定。
これがセットされていたらJavaScriptでこのXMLファイルを読み込むようにしました。
main.js
// ... // <next>の中身を取得します。 if( pageElement.getElementsByTagName( "next" ).length != 0 ) { page.nextXmlUrl = pageElement.getElementsByTagName( "next" )[0].childNodes[0].nodeValue; } else { page.nextXmlUrl = null; } // インデックスナンバーを進めます。 page.nextIndex = index + 1; if( page.nextXmlUrl != null ) { page.nextIndex = 0; } else if( page.nextIndex == ajax.responseXML.documentElement.getElementsByTagName( "page" ).length ) { page.nextIndex = 0; } // ... // 「読み込むXML」を格納するグローバル変数。 var nextXmlUrl = "00000000.xml"; // ... // 次の読み込み先。 if( page.nextXmlUrl != null ) { nextXmlUrl = page.nextXmlUrl; }
これで、シーン毎にXMLファイルを分けられるようにしました。
分岐とかもこの辺で分けられるようにしたいな。
あともうひとつ、キャラクターの非表示時に、一度透明GIFに置き換えるようにしました。
main.js
// offの時は非表示に。 characterObj.src = "Opa.gif"; characterObj.style.visibility = "hidden";
そうしないと、次の表示時に前のイメージが出ちゃうんで。
次はメッセージウィンドウの非表示化だな。
なんせ、次は一枚絵が出てくるんで……。