« [prototype]グラフ関係のステートマシンがあったら便利? | メイン | UJMLサンプル046:物が落下する効果(放物線エフェクト) »

UJMLサンプル045:写真の表示と切り替え(2006/02/17)

Samples_045_showimage写真の表示と切り替えを簡単に行うサンプルを紹介する。

SDKのサンプルとして入っているwalk.ujmlも単純なサンプルなので、そちらも是非参考にして欲しい。

FIREボタンで画像が切り替わる仕組だ。

ここでは単純に1枚の画像を表示しているが、ある画像の一部分のみを表示することもできる。それは、次回以降で解説する予定だ。walk.ujmlはその仕組を使って1枚の絵の中にある右向き、左向きのキャラクターを画像の表示範囲を指定して表示している。

★---コード
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 1.5//EN"
"http://www.uievolution.com/dtd/ujml-1.5.dtd" [
    <!ENTITY IMAGE_URL_1 "<image-url>images/aoyama02</image-url>">
    <!ENTITY IMAGE_URL_2 "<image-url>images/li02</image-url>">
]>
<!-- http://uiengineda.blogs.com 歩き回る感じ -->
<ujml>
    <application>
        <state-variables>
            <state-var name="sImage" type="int"/>
        </state-variables>
        <variables>
            <var name="mScrWidth" type="int"/>
            <var name="mScrHeight" type="int"/>

            <var name="mWidth" type="int"/>
            <var name="mHeight" type="int"/>

            <var name="mPosX" type="int"/>
            <var name="mPosY" type="int"/>
        </variables>
        <script>
            mScrWidth = _getIntProperty(&_PROPERTY_INT_SCREEN_WIDTH;);
            mScrHeight = _getIntProperty(&_PROPERTY_INT_SCREEN_HEIGHT;);

            if(mScrWidth &_LT; 150){
                mWidth = mScrWidth;
            }else{
                mWidth = 150;
            }

            if(mScrHeight &_LT; 200){
                mHeight = mScrHeight;
            }else{
                mHeight = 200;
            }

            mPosX = 0;
            mPosY = 0;

            sImage = 0;
        </script>
        <states>
            <state var="sImage">
                <transition value="0">
                    <display>
                        <image>
                            <url>&IMAGE_URL_1;</url>
                            <x>
                                <eval>mPosX</eval>
                            </x>
                            <y>
                                <eval>mPosY</eval>
                            </y>
                            <width><eval>mWidth</eval></width>
                            <height><eval>mHeight</eval></height>
                            <event name="onSelect">
                                <accelerators>
                                    <key>FIRE</key>
                                </accelerators>
                                <script>
                                    sImage = 1;
                                </script>
                            </event>
                        </image>
                    </display>
                </transition>
                <transition value="1">
                    <display>
                        <image>
                            <url>&IMAGE_URL_2;</url>
                            <x>
                                <eval>mPosX</eval>
                            </x>
                            <y>
                                <eval>mPosY</eval>
                            </y>
                            <width><eval>mWidth</eval></width>
                            <height><eval>mHeight</eval></height>
                            <event name="onSelect">
                                <accelerators>
                                    <key>FIRE</key>
                                </accelerators>
                                <script>
                                    sImage = 0;
                                </script>
                            </event>
                        </image>
                    </display>
                </transition>
            </state>
        </states>
    </application>
</ujml>

トラックバック

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

UJMLサンプル045:写真の表示と切り替えを参照しているブログ:

» UJMLサンプル143:画像表示基礎 (UIEngine だ)
 flickr を使って写真を管理し始め、不運にも携帯から flickr mobile を使えないのでそのあたりを UIEngine を使って何とかできたらと考えている。  そこで、画像周辺のサンプルのおさらいである。今回紹介するサンプルは単純に画像を表示するだけだ。以前の UIEngine だ: UJMLサンプル045:写真の表示と切り替え のおさらいである。このサンプルは画像が良くないので、今... [続きを読む]

コメント

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