画像の使い方
間に、コーディング規約やら雑記やらを挟んで飛びましたが
またjigletの作り方の解説やります。
今回は、前回作ったHelloWorld応用編に、
さらに手を加えて画像を使ったjigletを作ってみます。
内容は、HelloWorldの文字列が動く代わりに
カーソルの画像が動くjigletです。
画像を使う前には、色々と準備が必要になります。
ソース
import jp.jig.jiglet.*; public class HelloWorld extends Jiglet { //初期座標。定数は全部大文字で書く。 static final int HOME_X = 10; static final int HOME_Y = 20; //移動量。変数は単語のつなぎ目の頭文字を大文字に。 int moveX = 0; int moveY = 0; //画像の入れ物 Image cursorImage; public void main() { clearKey(); //画像を取得(拡張子の小文字/大文字に注意) cursorImage = getImage("cursor.gif"); for (;;) { //キー入力を取得 int key = getKey(); //取得したキーに応じた処理 if (key == KEY_UP) { moveY--; } else if (key == KEY_DOWN) { moveY++; } else if (key == KEY_LEFT) { moveX--; } else if (key == KEY_RIGHT) { moveX++; } else if (key == KEY_SELECT) { //決定キーを押したら移動量リセット moveX = 0; moveY = 0; } else if (key == KEY_IAPP) { //クリアキーを押したらアプリ終了 return; } repaint(); sleep(10); } } public void paint(boolean allDrawFlag) { //初期化 setColor(0xFFFFFF); //背景色 fillRect(0, 0, DW, DH); //DW:画面幅 DH:画面高さ //初期値+移動量の座標に、カーソル描画 drawImage(cursorImage, HOME_X + moveX, HOME_Y + moveY); } }
前回のソースと、ほぼ変わってないと思います。
画像の入れ物を用意して、画像を取得して
drawStringがdrawImageになったくらい。
初めてやった人は、拡張子の大文字/小文字があってなくて
エラーが起きる場合が多いです。
まとめ
画像を使うと見た目が良くなるんですが
jigletの容量がでかくなるのが問題ですねー。(結構すぐ凄いサイズになる
でも一番の問題は、やっぱり
上手な絵を描くことが出来ないことですね!
絵が描ける人が羨ましい(*´p`)