主にプログラミングに関する記事を掲載。
まあ開発メモです。
×[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
■Java ME でのFormクラス
Canvasクラスの学習が一段落したので
今度はFormクラスについて学習
だいぶ違う。
・Canvasクラス … 自前で描画、キー入力を制御する。
ゲーム向き。
・Formクラス … Windowsのようにコントロールを配置して制御する。
ツール向き?
Item … 子コントロールの事。
Formの中にItemは置けるが、Canvasの中には置けない。
StringItem … Labelコントロール(VC6のスタティックテキストみたいなの)
ChoiceGroup … ラジオボタンのリスト
CustomItem … 汎用コントロール(継承して自前描画)
DateField … 日付コントロール
Gauge … ゲージ(プログレスバーみたいなの)
ImageItem … ピクチャボックス
Spacer … スペーサー(空白をあけるためのアイテム)
TextField … テキストボックス
・コントロールの種類はとても少ないが
Java ME独特のコントロールもある。
・コントロールはHTMLのように行単位で配置していく。
(Javaユーザなら普通)
座標指定では置けない。
setLayout関数で配置方法を指定するのだが、
MIDP2.0では、必ず LAYOUT_2 を指定する
・パネルやグループボックスといった概念がないので
正直「レイアウトどうせいっちゅうねん」と
ツッコミを入れたくなった。
HTMLのようなテーブルすらない。
・上記にないコントロールを自作したい場合は
「CustomItem」を継承して作成する
(CustomItemのサブクラスを作成する)
・上記のコントロールには背景色の指定もできない
背景色を指定したければ
画像を用意するか
「CustomItem」を継承して自作コントロールにする
・Windowsアプリケーションでいうとこの「フォーカス」は
ここでは「トラバース」という言葉になっている
トラバースは、CustomItemでのみ使用可能。
・Windowsアプリケーション(.NET)でいうとこの
「コントロールのイベント」は
Commandになる。
Commandを作成→Itemに設定
CommandListenerでユーザの入力を検知する
(Javaユーザなら普通)
・テキストボックスの動作に注意。
実機では、テキスト入力画面に切り替わるが
エミュレータではそのまま入力できる
・Formに背景は設定できない?
[0回]
PR
■オチデジdocomo版公開中
ソースとか
http://dencha.ojaru.jp/software/dropdig.htmlアプリ
http://dencha.ojaru.jp/software/dropdig_i/index.htmldocomo版は知人の携帯で確認した。
さすがに人の携帯なので、頼むとして1回か2回が限度だろう。
今回は初iアプリなので多少の不備があるのはしかたがない
小さな不備を挙げるとキリがないので問題点として列挙し
次回作に活かす
[0回]
eclipse 再起動したらswingのプロジェクトで変なエラー発生。
Visual Editorがエラーを出す
「IWAV0168E 式のマーク・ステートメントが不適切にネストされています。 現在のマークの前にポップしようとしたか、または endMark を設定しようとしました。 Mark# 0 の範囲外に移動しようとしました。」
http://www.eclipsewiki.net/eclipse/index.php?%C3%CC%2F473
によれば
>メニューのプロジェクトでクリーンを実行したら自分の環境では復活しました。
という事なのでやってみたらうまくいった。
★原因の予測としては・・・
eclipseの終了時にバックグラウンドで動いてるVisual Editorが強制終了する?
↓
binフォルダ下のファイルが異常なまま終了?
↓
eclipse再起動時にbinフォルダのファイルを参照しながら
visual editor起動??
↓
エラー?
・・・・・とかかなぁ。雰囲気的にはそんな感じだった。
[2回]
■乱数について
乱数について調べていったら・・・ガンマ関数や密度関数にたどりついた。
果たしてコレ要る?
コンピュータにでたらめな数値を生成させる都合上、どうしても擬似乱数になるのは仕方がない。
しかも
どんな乱数も最初の100個なり1000個なりを捨てないとあまりいい値がとれない
と口をそろえたようにどこのサイトも紹介してる。
でも。。。
携帯ゲームに特化させるなら!
最初の10000個がデタラメな値のほうがよくない?
残り999万回同じ値がでてもいいから。
だって携帯の場合、最初の起動時間重要だから。
あとどこのサイト見ても「分布」についてはこだわってるケド
値の「発生順序」について記載がない。。。
1~6まで発生させるとして
1、2、3、4、5、6ってでたら、分布は一様だけど、
ゲームとしては失敗になる (・ω・)
というわけで
今後の方針けってーい。
「最初の10000個の値」
「発生順序」
にこだわった乱数作りだっ。
。。。もう面倒くさいからRamdomクラスそのまま使えばいい気がしてきた。
[0回]
■docomo iアプリのダウンロード設定について
iアプリのダウンロード用HTMLは特殊タグを用いる
------------------------------------------------------------
<object id="sampleID" declare data="sample.jam" type="application/x-jam"></object>
<a href="notapplicable.html" ijam="#sampleID">[ダウンロード]</a>
------------------------------------------------------------
通常リンクの<a>タグの href には、docomo携帯以外から
アクセスされた時のHTMLを書く
<a>タグ内には、ijam を指定し、同HTML内のobject の IDを指定する。
<object>タグには、data に .jam ファイルを指定しておく。
eclipseでビルド&エミュ起動したなら、
パッケージエクスプローラー→binフォルダ→右クリック→外部で開く
→Windowsエクスプローラ
で.jam、.jar、download.html が自動的にできているはずなので
binフォルダの中身そのまま自分のサイトにアップロードすればOK
便利すぎw
<object>タグについての一般的な仕様
http://www.tohoho-web.com/html/object.htm
参考:とほほのwww入門
■ダウンロードカウンタについて
iアプリに、ダウンロードカウンタを設定するのは大変だ。
少なくとも、自前サーバが用意できないならほぼ不可能のようだ。
docomo実機はないので、docomo配布のテストツールを使って確認した
●iモードコンテンツ開発ツール
http://www.nttdocomo.co.jp/service/imode/make/content/download/
↑ここからHTMLシミュレータIIをダウンロード
通常のダウンロードカウンタはCGIを用意し、対象ファイルへリンクする時に
そCGIからダウンロードさせるが、iアプリのHTMLタグは特殊なので
ちょっと厳しい。
自宅サーバ欲しいなぁ。。。
自宅サーバあればJavaアプレットだって動かせるのに。。。
でも金もPC置く場所もないww
[0回]