マップエディタが完成しました。
先日の日記でも書きましたが、JavaSEでは描画周りは中々に面倒ですね…Imageクラスの仕様が違うのと、Spriteクラスが無いだけでこんなにも違うとは!
こんなときのために、画像処理関連のクラスでもまとめて作っておいた方がいいかもしれません。多分世の中には画像処理やフィルタリング用の有用なクラスが既に作られているかもしれませんが…;
『Code Reading』なる良著にて、過去に書かれているコードを再び書く必要はないといった趣旨の文章がありましたが、将来ユニークなコーディングをする時のために、練習を積んでいくことも欠かせないでしょうね。
話がだいぶ脱線しましたが、本題に入りましょう。J2MEのときSpriteクラスで行われていた画像処理は、SEではBufferedImageクラスとAffineTransformクラスで行うようです。
要は、アフィン変換で回転+平行移動で上手く取り出すわけですが…画像が回転してるのか座標軸が回転してるのか、引数の単位は度なのかラジアンなのか等ですごく混乱しました。正直もう二度とやりたくないです。
まぁ念願かなって、マップエディタ自体は完成しました。
http://twitpic.com/13md1y こんな感じです。
自作ゲームのスクリプトからマップチップを読み込んでくれる自慢の逸品に仕上がりました。
もう少し使い勝手がよくなって汎用性を高くしたら公開しますかねー