今日は505への対応。 今日一日かけて、結局以前やっていた面倒臭いやり方でしかできないという結論に達した。 はぁ。 505の画面解像度のデカさが恨めしい。 大きさが2倍だよ。 画面サイズを2倍にするのに、方法がいくつかあったわけなんだけど。
1.2倍の解像度の画像を用意する。 2.画像やらを描画する毎に2倍に拡大。 3.一度描画したものを全部まとめて2倍サイズに拡大。 4.画像を初期化段階で2倍のサイズに作り直して使う。
1は、絵を描く人がいないので問答無用で却下。 意外と面倒な気もする。
2は、まぁ結局これになったんだけど、色々ある描画系関数のラッパー関数を作るのが面倒か、でも意外と楽なのかもね……。 以前は一つ一つ手動で置き換えてたから、今思えばアホな話だ。 ラップしたのは、drawImage、drawString、drawLine、fillRect、fillPolygon、このくらいか? とにかく使用する描画系のを全部ラップして2倍にする処理を入れてみた。 一度作れば使いまわせるからやっぱ楽かな。
3が一番楽。 ところが一部機種しか対応していない。 Graphics2 g2 = (Graphics2)g; g.drawScaledImage( g2.getImage(0,0,120,120),0,0,getWidth(),getHeight(),0,0,120,120 ); なんかこんな感じで。 getImage()が使えない機種があるから結局使えない。 やれやれ。
4は時間の無駄だった。 Image.createImage()で好きな大きさの画像が作れるんだけど、背景色に透明を指定できないので結局使い物にならず。 つーか、これは使いどころを間違ってるんだろうな、きっと。
やっぱ今週中は無理だな、そもそも動いてない機種もあるし。 来週までかかりそうか。 ああ、どんどん食い込んでゆく……。
そいえば、9月のバイト代が多くて喜んでたら集中授業で学校があったことが忘れ去られてた。 で、10万くらい返さんといかんらしい。 あほくさ。 つーか集中授業あったの? 知らんがな。
|