« YahooWidgetsのソースコードと比較する | メイン | インサイドUJML日本語版 1.5用 »

YahooWidgetsのソースコードと比較する タイマー的な使い方(2006/07/06)

Timersource 前回の

UIEngine だ: YahooWidgetsのソースコードと比較する

に引き続き、もう一点、コードの比較を紹介する。今回取り上げるのはタイマーだ。前回紹介した<image>と異なり、二つのプラットフォームの思想の差が良く現れている。

 本ブログの初期のサンプルでもUIEngineでのタイマーの実現サンプルを紹介している。以下がそのエントリーへのリンクだ。

UJMLサンプル003:ステート変数千本ノック その3 タイマー

ここで解説したように、UIEngineにてタイマーを実現するにはステート変数を活用し、<delay> タグでタイマーインターバルを設定した。

 Yahoo!Widgetsではどうか。これは、別のブログのサンプルで紹介しているソースコードが参考になる。

 Widgetsだ: YWサンプル005:タイマーの実行

Yahoo!Widgetsではタイマーの実現にその名も<timer>というタグを利用し、インターバルの設定は <interval> というタグで行う。

UJMLの場合:

            <state var="sMessage">
                <transition value="true">
                    <display>
                        <label>
                            <text><eval>mTimer</eval></text>
                            <fg>&_COLOR_WHITE;</fg>
                            <bg>&_COLOR_BLACK;</bg>
                        </label>
                    </display>
                    <delay>1000</delay>
                    <script>
                        sMessage = false;
                        mTimer--;
                        if(mTimer >
0)sMessage=true;
                    </script>
                </transition>
            </state>

Yahoo!Widgetsの場合:

    <timer>
        <name>timer</name>
        <interval>1</interval>
        <ticking>true</ticking>
        <onTimerFired><!-- interval で指定された秒毎に以下のスクリプトが実行される -->
            <![CDATA[
                myText.data = myText.data - 1;
                if(myText.data == 0){
                    timer.ticking = false;
                }
            ]]>

        </onTimerFired>
    </timer>

UJMLでは、ステート変数に対して<delay>により実行間隔を設定し、<script>タグ中でステート変数のON/OFFを切り替えることでタイマーを実現する。

Yahoo!Widgetsでは、<timer>タグを利用し<interval>で実行間隔を、<ticking>でタイマーのON/OFFを制御する。

トラックバック

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

YahooWidgetsのソースコードと比較する タイマー的な使い方を参照しているブログ:

コメント

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