2006/03/12(日) [n年前の日記]
#1 [iappli] アイテム作成中
敵OBJから、ポトンと真下に落とすようにしてみたけれど、もっとアグレッシブに動かしたほうがいいのかしら。画面の中でバウンドするとか。…それもそれで取りにくいよな。
◎ NullPointerでハマる。 :
起動するとNullPointerがどうとか出て落ちてしまう。数時間ハマり。てっきりhttpアクセスのところでバグを入れたのかと思い込んでたけど、paint() の中に追加した処理が、初期化してない変数を参照してたのが原因だった。トホホ。予想と違う場所が原因だったりすると、なんだかガックリくるもので。
◎ 文字表示関係を作成。 :
文字用GIFの中から選んで表示する、ところで詰まる。String から Byte に、byte[] b = strring_text.getBytes() で変換して。byte[] list = {'D',0,0, 'G',1,0 } といったテーブルとループで比較。該当文字が見つかったら座標値を算出して、とやってたつもりが表示されない。
座標値算出時に、x と y に入れなきゃいけないところを、x に2回代入してた。行コピーを多用してるので、書き直すのを忘れたっぽい。>自分。
さておき、表示する文字列が決まってるなら、事前に変換して byte[] で持っておいたほうがいいんだよな。ゲーム中に、毎フレーム、ループで検索しなおす必要はない。けど、面倒だから、処理が重くなってきたら、そのとき対策することにしよう。<なんか忘れそうではあるが。
あるいは、A〜Z 分のテーブルを持ってしまえば、一々検索しなくても、ASCIIコードを使ってインデックス値を求められる。が、用意された文字自体は少ないので、それはそれでテーブルが無駄に容量を取りそうな予感も。といっても、26文字 x 2 = 52 byte か…。
座標値算出時に、x と y に入れなきゃいけないところを、x に2回代入してた。行コピーを多用してるので、書き直すのを忘れたっぽい。>自分。
さておき、表示する文字列が決まってるなら、事前に変換して byte[] で持っておいたほうがいいんだよな。ゲーム中に、毎フレーム、ループで検索しなおす必要はない。けど、面倒だから、処理が重くなってきたら、そのとき対策することにしよう。<なんか忘れそうではあるが。
あるいは、A〜Z 分のテーブルを持ってしまえば、一々検索しなくても、ASCIIコードを使ってインデックス値を求められる。が、用意された文字自体は少ないので、それはそれでテーブルが無駄に容量を取りそうな予感も。といっても、26文字 x 2 = 52 byte か…。
[ ツッコむ ]
以上です。