« JavaAppletPTSによる配布 | メイン | UJMLサンプル003:ステート変数千本ノック その3 タイマー »

UJMLサンプル002:ステート変数千本ノック:ルパン三世ティッカー2(2006/01/26)

ルパン三世ティッカー その2

 前回の第一回↓の続き。
http://uiengineda.blogs.com/uiengine_/2006/01/post_2.html

ステート変数とスクリプトをうまく使って、処理の繰り返しを実装。booleanのステート変数をtrue,false切り替えて表示/非表示を連続的におこないます。

ポイント:
1.ステート変数にboolean型を採用。
2.<script>エレメント内でステート変数書き換えで、一度falseにして表示する文字を変更、そして、trueにして再表示。
3.ビルトイン関数の_substring(文字列切り出し)、_strlen(文字列長さ)を使用しました。
※前回は「俺の名はル」まで表示、今回は全部表示です。

---コード
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 1.2//EN" "ujml.dtd" >

<ujml>
    <application>
        <state-variables>
            <state-var name="sMessage" type="boolean" />
        </state-variables>
        <variables>
            <var name="mMessage" type="string"/>
            <var name="mChar" type="string"/>
            <var name="mCounter" type="int"/>
        </variables>

        <script>
            mMessage = "俺の名はルパン三世";
            mCounter = 0;
            mChar = _substring(mMessage, mCounter, mCounter + 1);
            sMessage = true;
        </script>
        <display>
            <fn>
                <text>Back</text>
                <event name="onselect">
                    <accelerators> <key>F1</key> </accelerators>
                    <script>
                        _unload();
                    </script>
                </event>
            </fn>
        </display>
        <states>
            <state var="sMessage">
                <transition value="true">
                    <display>
                        <label>
                            <text><eval>mChar</eval></text>
                            <fg>&_COLOR_WHITE;</fg>
                            <bg>&_COLOR_BLACK;</bg>
                        </label>
                    </display>
                    <delay>200</delay>
                    <script>
                        sMessage = false;
                        mCounter++;
                        if(mCounter == _strlen(mMessage))mCounter = 0;
                        mChar = _substring(mMessage, mCounter, mCounter + 1);
                        sMessage=true;
                    </script>
                </transition>
            </state>
        </states>
    </application>
</ujml>

---

トラックバック

この記事のトラックバックURL:
http://www.typepad.com/services/trackback/6a00d8341c2e2e53ef00e5506f97178833

UJMLサンプル002:ステート変数千本ノック:ルパン三世ティッカー2を参照しているブログ:

» サンプル:ステート変数千本ノック その3 タイマー (UIEngine だ)
とりあえず「俺の名はルパン三世」が表示されるようになったので、前回の応用でタイマ [続きを読む]

コメント

この記事へのコメントは終了しました。