「Ajaxでエロゲーを作るブログ」[ゲーム][DHTML][XML][ねこみみか](2)/XMLの連結

「Ajaxでエロゲーを作るブログ」[ゲー

 ねこみみか第2話。


ややエロだぞ!


 複数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";

 そうしないと、次の表示時に前のイメージが出ちゃうんで。


 次はメッセージウィンドウの非表示化だな。
 なんせ、次は一枚絵が出てくるんで……。