UJMLサンプル044:指定された位置から開くテキストボックスみたいなもの。(2006/02/17)
以前の「UJMLサンプル041:パッドボタンでテキストを開く」で紹介した、開くテキストボックスのようなもののサンプルコードを紹介する。
←の画面上を適当にクリックして頂ければ、ランダムに座標を選びテキストボックスのようなものが開く。こんな感じのものは、例えばゲームのキャラの噴出しとか、画面上で選択した何かの説明に使えるかもしれない。
★---コード(main.ujml) 使う側
<?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" [
]>
<!-- http://uiengineda.blogs.com ランダムな位置から開く -->
<ujml>
<application>
<state-machines>
<include file="components/background.ujms" state-machine="Background" />
<include file="components/open_multilabel.ujms" state-machine="OpenMultiLabel" />
</state-machines>
<functions>
<function name="randRange" type="int"><!-- これは指定範囲の数字をランダムに作る関数 -->
<parameters>
<var name="seed" type="int"/>
<var name="min" type="int"/>
<var name="max" type="int"/>
</parameters>
<return>
<eval>
(_srand(seed) % (max - min + 1)) + min
</eval>
</return>
</function>
</functions>
<display>
<box>
<x>0</x>
<y>0</y>
<width><eval>_getIntProperty(&_PROPERTY_INT_SCREEN_WIDTH;)</eval></width>
<height><eval>_getIntProperty(&_PROPERTY_INT_SCREEN_HEIGHT;)</eval></height>
<fg>&_COLOR_TRANSPARENT;</fg>
<bg>&_COLOR_TRANSPARENT;</bg>
<event name="onSelect">
<accelerators>
<key>FIRE</key>
</accelerators>
<script>
Background.init(&_COLOR_WHITE;,true);
OpenMultiLabel.show(
randRange(_msec(),1,_getIntProperty(&_PROPERTY_INT_SCREEN_WIDTH;)),
randRange(_msec(),1,_getIntProperty(&_PROPERTY_INT_SCREEN_HEIGHT;)),
0,
0,
_getIntProperty(&_PROPERTY_INT_SCREEN_WIDTH;),
_getIntProperty(&_PROPERTY_INT_SCREEN_HEIGHT;),
"ファイアー ヨロシク!");
</script>
</event>
</box>
</display>
</application>
</ujml>
★---コード(open_multilabel.ujms) 使われる側
は、ファイルで、こちらから取得してください。
Download open_multilabel.ujms
コメント