UJMLサンプル119:超基礎:ユーザー入力で四角の表示非表示を切り替える

Samples_119_boxinput 【初心者向け】今回のサンプルは、サンプル117を、ユーザー入力で四角の表示を切り替えられるようにしたもの。

 四角の描画が定義されていた<state var="sBox">内のエレメントが、sBox=false;とすることで非表示になり、またsBox=true;とすることで表示される。

ソースコード:
Download 119_main.ujml

UIEngine/UJML 初心者の方にお勧めのページ:
初心者向けまとめページ
初心者向けカテゴリ

その他の初心者向けのサンプル:
UJMLサンプル052:超基礎:HELLO WORLD! その1
UJMLサンプル053:超基礎:HELLO WORLD! その2 文字の色を指定
UJMLサンプル056:超基礎:HELLO WORLD! その3 文字の色を指定 ENTITYを使う
UJMLサンプル057:超基礎:HELLO WORLD! その4 文字の色を指定 変数から文字の色指定をする場合
UJMLサンプル091:超基礎:HELLO WORLD! その5 ラベルの背景も指定する

UJMLサンプル118:超基礎:四角を表示する 117見たらやりたくなるのが,,,

Samples_118_box_1  前回のUJML117を見たら誰でもやりたくなるのが、左の写真のようなものか?ためしに作成してみた。

 <width><height>を都度指定しなければならないのが面倒だ。少し難しい話になるが、親の<box>の幅や高さを取得できるなら楽だが。例えば、

<width><eval>parent.width-4</eval></width>

といった具合。あまり役には立たないかもしれないが、このようなこともできるという参考程度ということで。

ソースコード:
Download 118_main.ujml

UIEngine/UJML 初心者の方にお勧めのページ:
初心者向けまとめページ
初心者向けカテゴリ

その他の初心者向けのサンプル:
UJMLサンプル052:超基礎:HELLO WORLD! その1
UJMLサンプル053:超基礎:HELLO WORLD! その2 文字の色を指定
UJMLサンプル056:超基礎:HELLO WORLD! その3 文字の色を指定 ENTITYを使う
UJMLサンプル057:超基礎:HELLO WORLD! その4 文字の色を指定 変数から文字の色指定をする場合
UJMLサンプル091:超基礎:HELLO WORLD! その5 ラベルの背景も指定する

UJMLサンプル117:超基礎:四角を表示する 四角の中の四角

Samples_117_box 今回紹介するサンプルは、<box>の中に入れ子で<box>を描くこと。もちろん、そのまた中に<box>、、、と延々続けて書けるだろうが。

 左の写真のとおり、外側に赤枠の四角、その内側に青枠の四角が描画されている。ポイントは内側の四角の位置<x><y>の指定方法。外側の赤枠の左上の頂点からの距離で指定することができる。

 本サンプルでは赤枠の左上から2ポイントずつ<x><y>をずらし、内側に描画している。そのため、内側の<width><height>は2ポイントの2倍の4ずつ減らしているわけだ。これで、内側にすっぽり収まったように見える。

--- ソース抜き出し
<box>
    <x><eval>mPosX</eval></x>
    <y><eval>mPosY</eval></y>
    <width><eval>mWidth</eval></width>
    <height><eval>mHeight</eval></height>
    <fg>&_COLOR_RED;</fg><!-- 四角の枠色:赤で -->
    <bg>&_COLOR_WHITE;</bg><!-- 四角の中の色:白で -->
    <!-- 箱の中に箱を -->
    <box>
        <x>2</x>
        <y>2</y>
        <width><eval>mWidth-4</eval></width>
        <height><eval>mHeight-4</eval></height>
        <fg>&_COLOR_BLUE;</fg><!-- 四角の枠色:青で -->
        <bg>&_COLOR_YELLOW;</bg><!-- 四角の中の色:黄色で -->
    </box>

</box>
---

ソースコード:
Download 117_main.ujml

UIEngine/UJML 初心者の方にお勧めのページ:
初心者向けまとめページ
初心者向けカテゴリ

その他の初心者向けのサンプル:
UJMLサンプル052:超基礎:HELLO WORLD! その1
UJMLサンプル053:超基礎:HELLO WORLD! その2 文字の色を指定
UJMLサンプル056:超基礎:HELLO WORLD! その3 文字の色を指定 ENTITYを使う
UJMLサンプル057:超基礎:HELLO WORLD! その4 文字の色を指定 変数から文字の色指定をする場合
UJMLサンプル091:超基礎:HELLO WORLD! その5 ラベルの背景も指定する

UJMLサンプル116:超基礎:四角を表示する

Samples_116_box_1  初心に立ち返って、簡単なサンプルをいくつか紹介する。このサンプルは超初心者向け。

 今回は四角を表示する。四角を表示するのは何を作るにしても基本になる。リスト表示や、メッセージボックス等。UJMLでは<box>エレメントにより四角の描画指定をする。

 今回のサンプルはステート変数を使い、敢えてsBox=trueとすることで表示するようにしているが、これはステート変数の使用が避けては通れないため。

 また、表示する四角の座標<x>,<y>と幅、高さ<width>,<height>を<eval>を使い変数で指定している。ここは<eval>を使わずにそのまま書くこともできるが、変数を使うことの方が多いので敢えてそうしている。

ソースコード:

Download 116_main.ujml

UIEngine/UJML 初心者の方にお勧めのページ:
初心者向けまとめページ
初心者向けカテゴリ

その他の初心者向けのサンプル:
UJMLサンプル052:超基礎:HELLO WORLD! その1
UJMLサンプル053:超基礎:HELLO WORLD! その2 文字の色を指定
UJMLサンプル056:超基礎:HELLO WORLD! その3 文字の色を指定 ENTITYを使う
UJMLサンプル057:超基礎:HELLO WORLD! その4 文字の色を指定 変数から文字の色指定をする場合
UJMLサンプル091:超基礎:HELLO WORLD! その5 ラベルの背景も指定する

UJMLサンプル100ぐらい

Trackbackstation_2

UIEジャパン殿 トラックバックステーション開設おめでとうございます。UJMLサンプル一覧を記念にトラックバック。

UJMLサンプル001:ステート変数千本ノック:ルパン三世ティッカー
UJMLサンプル002:ステート変数千本ノック:ルパン三世ティッカー2
UJMLサンプル003:ステート変数千本ノック その3 タイマー
UJMLサンプル004:ステート変数千本ノック その4 タイマー+Templates
UJMLサンプル005:数あてゲーム
UJMLサンプル006:だんだん大きくなる箱
UJMLサンプル007:中心からだんだん大きくなる箱
UJMLサンプル008:上下からつぶれて消える箱
UJMLサンプル009:画面の中央で「俺の名は、、、」
UJMLサンプル010:数あてゲーム その2
UJMLサンプル011:座標の感覚を覚える
UJMLサンプル012:はじく感じで移動する
UJMLサンプル013:ブーメラン風移動効果
UJMLサンプル014:コンポーネントの利用(背景)
UJMLサンプル015:コンポーネントの利用(日付時刻)
UJMLサンプル016:コンポーネントの利用(リストボックス)
UJMLサンプル017:コンポーネントの利用(メッセージボックス)
UJMLサンプル018:コンポーネントの利用(パッドボタン)
UJMLサンプル019:コンポーネントの利用(スクロールメニュー)
UJMLサンプル020:コンポーネントの利用(スクロールテキストボックス)
UJMLサンプル021:スタートボタン
UJMLサンプル022:ブラインドエフェクト
UJMLサンプル023:ボックスエフェクト
UJMLサンプル024:スプリットエフェクト
UJMLサンプル025:ブラインドエフェクト the maximum-frame-rate method

UJMLサンプル026:ボックスエフェクト the maximum-frame-rate method
UJMLサンプル027:スプリットエフェクト the maximum-frame-rate method
UJMLサンプル028:うろうろ
UJMLサンプル029:うろうろ+ジャンプ
UJMLサンプル030:大脳刺激-数字記憶
UJMLサンプル031:ステートマシン化の練習
UJMLサンプル032:基礎:文字列関数 _getCharacterCode()
UJMLサンプル034:基礎:文字列関数 _string_to_int()
UJMLサンプル035:基礎:文字列関数 _strcat()
UJMLサンプル036:基礎:文字列関数 _strlen()
UJMLサンプル037:ティッカー(横バー式)
UJMLサンプル038:ティッカー(横バー式)その2
UJMLサンプル039:パッドボタンでゲーム(反射神経テスト)
UJMLサンプル041:パッドボタンでテキストを開く
UJMLサンプル042:メッセージバー
UJMLサンプル043:メッセージバーティッカー(ステートマシン)
UJMLサンプル044:指定された位置から開くテキストボックスみたいなもの。
UJMLサンプル045:写真の表示と切り替え
UJMLサンプル046:物が落下する効果(放物線エフェクト)
UJMLサンプル047:物がたくさん落下する効果(放物線エフェクト)
UJMLサンプル048:物がたくさん落下する効果(放物線エフェクト)風付
UJMLサンプル049:基礎:文字列関数 _substring()
UJMLサンプル050:基礎:文字列関数 _urlEncode()

UJMLサンプル051:基礎:デバイス情報の取得 _getIntProperty()
UJMLサンプル052:超基礎:HELLO WORLD! その1
UJMLサンプル053:超基礎:HELLO WORLD! その2 文字の色を指定
UJMLサンプル054:画像と文字の表示→四コマ漫画できるか?
UJMLサンプル055:ミラクルな_link()を使いこなそう
UJMLサンプル056:超基礎:HELLO WORLD! その3 文字の色を指定 ENTITYを使う
UJMLサンプル057:超基礎:HELLO WORLD! その4 文字の色を指定 変数から文字の色指定をする場合
UJMLサンプル058:ティッカーの流れる文字のスピードをコントロールしたい
UJMLサンプル059:ティッカーの流れる文字のスピードをコントロールしたい。反対方向も。
UJMLサンプル060:ティッカーの流れる文字のスピードをコントロールしたい。反対方向はジャンプで!
UJMLサンプル061:基礎:デバイス情報の取得 _getIntProperty()その2 色の数とファンクションキーの数
UJMLサンプル062:ティッカーの流れる文字のコントロール、ぐぐぐっと戻る感じに
UJMLサンプル063:位置とサイズを指定してティッカーを表示する。
UJMLサンプル064:ボタンが押されたらラベルを大きくする。
UJMLサンプル065:ぷよぷよ浮いている感じのラベル。
UJMLサンプル067:4コマ漫画の実現→画像とラベルを切り替えて表示する例
UJMLサンプル068:StringTokenizerの実装→文字を切り出す
UJMLサンプル069:グラフを作る。まずは棒で百分率を表示。アンケートのYES/NO回答に使えるかな。
UJMLサンプル070:ぐるぐる3Dっぽくまわるメニュー
UJMLサンプル071:画像を使って、大きさの変わるボタンを表示する。
UJMLサンプル072:071からの続きで、伸び縮みするボタン
UJMLサンプル073:072からの続きで、ボタンの上にラベルを表示
UJMLサンプル074:範囲を指定して画像を表示する
UJMLサンプル075:画像の表示と、画像を動かすおさらいをする。

UJMLサンプル076:二次元配列を使って画像をたくさん並べてみる。
UJMLサンプル077:画像の上にラベルを配置して携帯電話のボタンのようにする。
UJMLサンプル078:ボタンへのイベントの割り当て
UJMLサンプル079:昔作った番号記憶ゲームを作り直して見た目をきれいにしてみた。
UJMLサンプル080:パーフェクトならパーフェクトと表示されるとうれしい。
UJMLサンプル081:連続パーフェクトなら★がつみあがるともっとうれしい。
UJMLサンプル082:ToDoリストを気持ちよく振り分けるためのインタフェース
UJMLサンプル083:082のToDoリストの動作を早くするには少し変えるだけ
UJMLサンプル084:ToDoリストのやる、やらないをさくさく分類するインタフェースの実装例
UJMLサンプル085:ToDoリスト管理をさくさくおこなう実装例 今度は作業完了の機能もつける
UJMLサンプル086:TODO管理用インタフェースサンプル 仕分け作業をさくさくと
UJMLサンプル087:特に意味は無いが、FF3の戦闘シーンも簡単に作れるかも
UJMLサンプル088:掛け算の20かける20を暗記するトレーニング用ツール
UJMLサンプル089:ToDo管理ツールは矢印のインタフェースの方が使いやすいか?
UJMLサンプル090:次世代携帯のアドレス管理機能を考える
UJMLサンプル091:超基礎:HELLO WORLD! その5 ラベルの背景も指定する
UJMLサンプル092:配信側が強引に広告まで配信するRSSリーダーができるかもしれない
UJMLサンプル093:コンポーネントの利用(リストボックス)その2
UJMLサンプル095:StringTokenizer実装やり直し
UJMLサンプル096:箱を100個表示する。templateを使わない場合
UJMLサンプル097:箱を100個表示する。templateを使う場合1,845(Byte)に、、
UJMLサンプル099:ScrollTextBoxを使う、以前紹介したがSILVER,WHITE,BLACKの組み合わせが気に入ったので紹介
UJMLサンプル100:メールの形をしたものをで表示

UNLOADイベントがあることを覚えましょう

 たった今気づいたことだが、UNLOADイベントなる特殊イベントを扱えることがわかった。アプリが強制終了される前にやっておきたい何かを実行するために重宝するだろう。

 ふと思ったのだが、機能ボタンが4つあるデバイスをサポートしているのだろうか?2つまでしかサポートしていない気がする。

UJMLサンプル一覧 076-100

途中で抜けている番号があるが、間違って番号を抜いてしまっただけで、深い意味は無い。

UJMLサンプル076:二次元配列を使って画像をたくさん並べてみる。
UJMLサンプル077:画像の上にラベルを配置して携帯電話のボタンのようにする。
UJMLサンプル078:ボタンへのイベントの割り当て
UJMLサンプル079:昔作った番号記憶ゲームを作り直して見た目をきれいにしてみた。
UJMLサンプル080:パーフェクトならパーフェクトと表示されるとうれしい。
UJMLサンプル081:連続パーフェクトなら★がつみあがるともっとうれしい。
UJMLサンプル082:ToDoリストを気持ちよく振り分けるためのインタフェース
UJMLサンプル083:082のToDoリストの動作を早くするには少し変えるだけ
UJMLサンプル084:ToDoリストのやる、やらないをさくさく分類するインタフェースの実装例
UJMLサンプル085:ToDoリスト管理をさくさくおこなう実装例 今度は作業完了の機能もつける
UJMLサンプル086:TODO管理用インタフェースサンプル 仕分け作業をさくさくと
UJMLサンプル087:特に意味は無いが、FF3の戦闘シーンも簡単に作れるかも
UJMLサンプル088:掛け算の20かける20を暗記するトレーニング用ツール
UJMLサンプル089:ToDo管理ツールは矢印のインタフェースの方が使いやすいか?
UJMLサンプル090:次世代携帯のアドレス管理機能を考える
UJMLサンプル091:超基礎:HELLO WORLD! その5 ラベルの背景も指定する
UJMLサンプル092:配信側が強引に広告まで配信するRSSリーダーができるかもしれない
UJMLサンプル093:コンポーネントの利用(リストボックス)その2
UJMLサンプル095:StringTokenizer実装やり直し
UJMLサンプル096:箱を100個表示する。templateを使わない場合
UJMLサンプル097:箱を100個表示する。templateを使う場合1,845(Byte)に、、
UJMLサンプル099:ScrollTextBoxを使う、以前紹介したがSILVER,WHITE,BLACKの組み合わせが気に入ったので紹介
UJMLサンプル100:メールの形をしたものをで表示

「初心者向けのまとめページ」を更新しましたのでそのお知らせ

 「初心者向けまとめページ」を更新した。図や写真を使いもう少し見易く仕上げたい。

UJML初心者向けのまとめのページを近日更新

 

UIEngineの注目度がうなぎのぼり。本サイトへの訪問者も増加中。ご訪問ありがとうございます。UJMLによるアプリ開発初心者の方のまとめページ「初心者向けまとめ」を現在更新中。よりわかりやすくを目指します。

UJML1.5 によるアプリ開発の勘所

 UJML1.5を使用したアプリ開発の勘所のまとめ。
※UJMLは2.0がベータ版として公開されているが、ここで解説するのは1.5である。
※UJML1.5によるアプリ開発にはUIESDK1.5のインストールが必要です。

・不親切なエラーメッセージに慣れる
 エラーメッセージは英語。コンパイル時のエラーメッセージは行番号が示されるので、エラー発生箇所の特定はしやすいが、何のエラーなのかはわかりにくい。言語仕様がコンパクトなので慣れれば何のエラーかわかるようにはなる。
 ランタイム時のエラーは特定が難しいことが多い。

・UTF-8に対応したエディタが必要
 UIESDK1.5にはエディタがついていないので、UTF-8の文字コードが取り扱えるエディタが必要(秀丸、EMEditor等)

・XMLのエレメントの記述順が厳しく決まっていることに慣れる
 <X>は<y>の前等、エレメントの記述順序が厳しく決まっている。最初はここでコンパイルエラーを起こすことが多い。

・_getIntProperty() の使い方を覚える
 画面サイズ等のデバイス情報を取得しないとまともなものが作れないので、デバイス情報取得系の関数の使い方は最初に覚える必要あり。

・数値は整数しか扱えないことに慣れる
 浮動小数点演算はできない。浮動少数点演算をしたいときは、近似値をあらかじめ配列で内部的に持たせるのが良い。例えば円周上の点の座標をもとめたいときなど。

・ステート変数と<delay>に慣れる
 画面表示の切り替えに使うステート変数<state-var>と、アニメーション処理に欠かせない<delay>の使い方に慣れる必要あり。

・ENTITYは覚える、特に不等号
 &_LT;、&_GT;、&_AND; はすぐ使えるように覚える。UJMLはXMLベースの言語のため括弧(<>)がそのまま使えない。従来の言語になれていると括弧を条件式で使ってしまうが、必ずコンパイルエラーが発生する。

・実はUIEPlayerの仕様がデバイス毎に若干異なることがある。
 フリーで使用できるUIEPlayerはDocomoとJavaApplet版だが、動作仕様が異なることがある。これは本来あるべきではないが、バグがあるということだろう。例えばJavaApplet版だと、クリックされた座標を正しく処理できない等

UJMLサンプル一覧 051-075

UJMLサンプル051:基礎:デバイス情報の取得 _getIntProperty()
UJMLサンプル052:超基礎:HELLO WORLD! その1
UJMLサンプル053:超基礎:HELLO WORLD! その2 文字の色を指定
UJMLサンプル054:画像と文字の表示→四コマ漫画できるか?
UJMLサンプル055:ミラクルな_link()を使いこなそう
UJMLサンプル056:超基礎:HELLO WORLD! その3 文字の色を指定 ENTITYを使う
UJMLサンプル057:超基礎:HELLO WORLD! その4 文字の色を指定 変数から文字の色指定をする場合
UJMLサンプル058:ティッカーの流れる文字のスピードをコントロールしたい
UJMLサンプル059:ティッカーの流れる文字のスピードをコントロールしたい。反対方向も。
UJMLサンプル060:ティッカーの流れる文字のスピードをコントロールしたい。反対方向はジャンプで!
UJMLサンプル061:基礎:デバイス情報の取得 _getIntProperty()その2 色の数とファンクションキーの数
UJMLサンプル062:ティッカーの流れる文字のコントロール、ぐぐぐっと戻る感じに
UJMLサンプル063:位置とサイズを指定してティッカーを表示する。
UJMLサンプル064:ボタンが押されたらラベルを大きくする。
UJMLサンプル065:ぷよぷよ浮いている感じのラベル。
UJMLサンプル067:4コマ漫画の実現→画像とラベルを切り替えて表示する例
UJMLサンプル068:StringTokenizerの実装→文字を切り出す
UJMLサンプル069:グラフを作る。まずは棒で百分率を表示。アンケートのYES/NO回答に使えるかな。
UJMLサンプル070:ぐるぐる3Dっぽくまわるメニュー
UJMLサンプル071:画像を使って、大きさの変わるボタンを表示する。
UJMLサンプル072:071からの続きで、伸び縮みするボタン
UJMLサンプル073:072からの続きで、ボタンの上にラベルを表示
UJMLサンプル074:範囲を指定して画像を表示する
UJMLサンプル075:画像の表示と、画像を動かすおさらいをする。

アプリを開発するために必要なSDKのインストール その2 環境変数JAVA_HOMEを設定して起動可能にする。

さて、前回はインストール成功したものの、起動に失敗した。

<前回の最後の話>ここから

Install_004_warning_setjavahome_2

スタートメニューから「UIEデバッガー起動」を選ぶと
---
You must set the environment variable JAVA_HOME to the root directory of
your JDK installation; for example:
set JAVA_HOME=C:\J2SDK1.4.0
---
とコマンドウィンドウに表示された。

どうすりゃいいんだ?次回に続く。

</前回の最後の話>ここまで

これは、「Windowsの環境変数にJAVA_HOMEというものが正しくセットされていないから、セットしてください。」ということだ。

環境変数については説明を省くが、どんな環境変数が設定されているのか見たいときは、コマンドプロンプトを起動して

・「スタートメニュー」の「ファイル名を指定して実行」で"cmd"とする。
・「ウィンドウズボタン」+「R」で、実行ウィンドウが開いたら"cmd"とする。

C:\> set

というようにすれば、良い。下の画像は結果の例。ABC順に設定されている環境変数が一覧されるので、確かにJAVA_HOMEが指定されていないことがわかる。
Install_005_setresult

環境変数を設定するには、「システムのプロパティ」の「環境変数」で行う。手順は次の通り。
Install_006_systemproperty
1.「マイコンピュータ」を右クリックし、「プロパティ」を選択する。
2.新しいウィンドウ「システムのプロパティ」が開くまで待つ。
3.「詳細」タブをクリックする。
4.「詳細」タブの「環境変数」ボタンをクリックする。
5.新しいウィンドウ「環境変数」が開くまで待つ。
6.「システム環境変数」の「新規」ボタンをクリックする。
7.新しいウィンドウ「新しいシステム変数」が開くまで待つ。
8.変数名*1、変数値*2を入力し、「OK」をクリックする。ウィンドウが閉じる。
9.ウィンドウ「環境変数」の「OK」をクリックする。ウィンドウが閉じる。
10.ウィンドウ「システムのプロパティ」の「OK」をクリックする。

*1:"JAVA_HOME" とする。(ダブルクォーテーションは入力しない。)
*2:JAVAをインストールしたディレクトリを書く。
  例:"C:\j2sdk1.4.2_08"

環境変数の設定が完了したら、スタートメニューから「UIEデバッガー起動」を選択して、起動する。

無事、起動できた。下図。
Install_007_started

アプリを開発するために必要なSDKのインストール

説明に使う環境:
・Windows2000Server ServicePack4
・Java1.4.2_08-b03インストール済み
・ブラウザはFireFox1.5

SDKの対応環境は↓(ダウンロードページから転載)
対応OS: Windows 2000およびWindows XP
必要追加ソフトウェア:Java 2 Platform, Standard Edition, (J2SE) SDK 1.4.2もしくはそれ以上

Install_001_1
SDKダウンロード・ページよりSDKをダウンロードする。

現在のバージョンは SDK1.5.2

Install_002_1

インストーラーのサイズは17.9MB、USにサーバーがあるのか、ダウンロードに結構時間がかかる。待っている間はコーヒーでも。

0_gogo_1 ダウンロードしたらインストーラー(uiesdk_1.5.2.exe)を実行する。

Install_003_install_start_1

利用規約に同意し、「次へ」「次へ」「次へ」っとクリックしてインストールが完了。

Install_003_install_finished_1

スタートメニューから「UIEデバッガー起動」を選び実行すると

Install_004_warning_setjavahome_1

---
You must set the environment variable JAVA_HOME to the root directory of
your JDK installation; for example:
set JAVA_HOME=C:\J2SDK1.4.0
---
とコマンドウィンドウに表示された。「続行するには何かキーを押してください。。。。」と書いてあるので、何かキーを押すが、ここでデバッガーの起動は停止する。

0_hatena どうすりゃいいんだ?次回に続く。

#「もし、英語が理解できなかったら」、と思うとぞっとする。

UJMLサンプル一覧(026-050)

サンプル数が50個と切りの良い数たまったので、リンクをリスト化した。

サンプルの33番が無いが、本来「何を作るか?UJMLのCMをUJMLで作る その6」を紹介しようとしていたが、ソースコードが肥大化し、不適切だと思ったので紹介しなかった経緯がある。

UJMLサンプル026:ボックスエフェクト the maximum-frame-rate method
UJMLサンプル027:スプリットエフェクト the maximum-frame-rate method
UJMLサンプル028:うろうろ
UJMLサンプル029:うろうろ+ジャンプ
UJMLサンプル030:大脳刺激-数字記憶
UJMLサンプル031:ステートマシン化の練習
UJMLサンプル032:基礎:文字列関数 _getCharacterCode()
UJMLサンプル034:基礎:文字列関数 _string_to_int()
UJMLサンプル035:基礎:文字列関数 _strcat()
UJMLサンプル036:基礎:文字列関数 _strlen()
UJMLサンプル037:ティッカー(横バー式)
UJMLサンプル038:ティッカー(横バー式)その2
UJMLサンプル039:パッドボタンでゲーム(反射神経テスト)
UJMLサンプル041:パッドボタンでテキストを開く
UJMLサンプル042:メッセージバー
UJMLサンプル043:メッセージバーティッカー(ステートマシン)
UJMLサンプル044:指定された位置から開くテキストボックスみたいなもの。
UJMLサンプル045:写真の表示と切り替え
UJMLサンプル046:物が落下する効果(放物線エフェクト)
UJMLサンプル047:物がたくさん落下する効果(放物線エフェクト)
UJMLサンプル048:物がたくさん落下する効果(放物線エフェクト)風付
UJMLサンプル049:基礎:文字列関数 _substring()
UJMLサンプル050:基礎:文字列関数 _urlEncode()

開発者フォーラムに入るなら今だ!というお話。

Uiedevelopperforum UIEngineの開発者フォーラムは英語で、という話は以前「UIE開発者フォーラムは英語で投稿しよう!」で書いた。今日気づいたことだが、このフォーラム、参加者が15人(スーパー管理者1人含)である。

 その15人の内訳は

Super Administrator 1
Administrator 1 ← 校長先生
Moderator 8 ← 先生
Member 5 ← 生徒

だ。これは「生徒より先生が多い塾」みたいなものではないか?

二日に一度ぐらい、質問等をしているが、極めてレスポンスが早いため、UIEngineとUJMLを学ぶにはこれ以上無い環境だ。人数が増える前に、入るなら今だ。今しかない!

もっと言うと、実稼動しているMemberは5人の内3人だけのようだ。私を含め、もう一人のMemberがフォーラムを盛り上げて(?)いる。数の内訳からわかる数字以上に学習効果の高い環境がそこにあるのだ。

入らない手は無い。

私はいつも校長先生から教わっている。

いつも、ありがとうございます。

サンプルリスト001-025

サンプル数が25個と切りの良い数たまったので、リンクをリスト化した。当初はステート変数の練習のつもりで始めたが、趣旨を大きくずれたものも作っている。是非SDKをご自分のパソコンにインストールして試して欲しい。

UJMLサンプル001:ステート変数千本ノック:ルパン三世ティッカー
UJMLサンプル002:ステート変数千本ノック:ルパン三世ティッカー2
UJMLサンプル003:ステート変数千本ノック その3 タイマー
UJMLサンプル004:ステート変数千本ノック その4 タイマー+Templates
UJMLサンプル005:数あてゲーム
UJMLサンプル006:だんだん大きくなる箱
UJMLサンプル007:中心からだんだん大きくなる箱
UJMLサンプル008:上下からつぶれて消える箱
UJMLサンプル009:画面の中央で「俺の名は、、、」
UJMLサンプル010:数あてゲーム その2
UJMLサンプル011:座標の感覚を覚える
UJMLサンプル012:はじく感じで移動する
UJMLサンプル013:ブーメラン風移動効果
UJMLサンプル014:コンポーネントの利用(背景)
UJMLサンプル015:コンポーネントの利用(日付時刻)
UJMLサンプル016:コンポーネントの利用(リストボックス)
UJMLサンプル017:コンポーネントの利用(メッセージボックス)
UJMLサンプル018:コンポーネントの利用(パッドボタン)
UJMLサンプル019:コンポーネントの利用(スクロールメニュー)
UJMLサンプル020:コンポーネントの利用(スクロールテキストボックス)
UJMLサンプル021:スタートボタン
UJMLサンプル022:ブラインドエフェクト
UJMLサンプル023:ボックスエフェクト
UJMLサンプル024:スプリットエフェクト
UJMLサンプル025:ブラインドエフェクト the maximum-frame-rate method

初心者向けにまとめ

ここではUJMLの初心者向けに色々まとめています。日本語のドキュメントもまだ少ないので集められるだけ集める予定です。

UJMLについて(勝手解説):

UIEngineは小型デバイス(携帯電話、PDA等)上でプログラム(ゲームや各種ツール)を動作させる仕組のことです。UIEngineについてもっと知りたい方はこちらのブログがおすすめです。

Life is Beautiful (UIEvolution社 CEO 中島聡氏のブログ)
遅咲きブログ少年 @はてな(株式会社UIEジャパン代表取締役 今野純氏のブログ)

プログラムはUJMLという独自の言語で書きます。

UJMLは、HTMLとJavascriptがわかる人なら簡単に理解できる新しい言語です。HTMLによく似ています。

UJMLでプログラムを作るためのSDK(開発キット)が無償で公開されているので、誰でも気軽にパソコンにインストールしてUJMLを学ぶことができます。

さらに、SDKを使うと作ったプログラムをインターネット上にすぐ公開できます。作ったものをみんなに使ってもらえるようにすることも簡単です。

◆ステップ1
 上の「UJMLについて(勝手解説)」を読んでおおよそ理解できた方はステップ2へ。もっと詳しく知りたい方は、UJMLについて書いてある「UJMLの概念」を読むと良いです。

◆ステップ2
 SDKをインストール(ponpon-village.netさん)してサンプルを実行してみましょう。SDKの概要を読みながら。SDKのインストールについて、当ブログでもSDKのインストール方法の解説をはじめました
※注意:Javaが必要です。先にJavaをインストールしましょう。JAVAは1.4.2以上が必要です。

 現在SDK1.5が正式版として、SDK2.0がベータ版としてリリースされています。SDK2.0のインストールは太郎日記79Jさんのブログに丁寧な解説があります。

◆ステップ3
 自分でUJMLを書いてみましょう。私のUJMLサンプルが参考になれば幸いです。

・超初心者用のサンプルも用意しています。HELLO WORLDを表示するサンプルです

・UJMLサンプルのカテゴリ(より難しいものから表示されてしまいます。)

UJMLサンプル001から025までの一覧

UJMLサンプル026から050までの一覧

UJMLサンプル051から075までの一覧

 UJML1.5によるアプリ開発の勘所をまとめました。ご参考までに。

◆ステップ4
開発者フォーラム(英語)に入り、わからないことを質問しよう。
このフォーラムは参加者がまだ少なく、生徒より先生が多い状態です。例えて言うなら、Windows開発初期の頃のBillgに直接質問し回答できる状態、といったところでしょうか?この機会に英語の勉強をかねてフォーラムに参加すると良いでしょう。

[2006/2/16 追記]本家のサイトに"Inside UJML"というページがあり、UJMLの概念とサンプルプログラムが解説付で紹介されています。しかし、このドキュメントは詳しく読まない方が良いです。細かい点で古い情報があり、UJML2.0のリリース(2006年3月予定)に向け古いままアップデートされません、きっと(目下 UJML2.0用のInsideUJMLを作成中だとか)。

このブログでも「インサイドUJML」として日本語で解説してきましたが、「制御文 for は使えない」という嘘をそのまま紹介してしまいました。既に読んでいた方がいたら申し訳無いといったところです。この場を借りてお詫び申し上げます。

"Inside UJML"の細かい言語仕様はUJML1.2ぐらいのものなので(現在は1.5)、その後拡張されたものは反映されていないようです。

ざっと見て、「こんなものが作れるのか」と、概念部分を理解すると良いでしょう。