なんかいろいろこんぴゅーたかんけいのなぐりがき

なんか勉強しているこんぴゅーた関係のことのメモやそれ以外のことを書こうかなあ...

logs

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

アンドロイドアプリ作成始めました

アンドロイドのアプリの作成、正しくいうと移植を始めた。
移植対象のベースには日経ソフトウェア6月号の弾幕シューティングのソースを改変したもの
を利用している。(しかし、あのサンプルの自機の当たり判定の大きさは異常)

移植のソースとなるのは、私が以前大学の授業で作成したJavaのゲーム。
ソースを公開したいのだが、そのゲームに使っている画像や音楽のライセンスの問題で
ここに公開することができない。また、移植する際にはライセンスフリーの素材に変更する。

実は、移植作業自体は1日前からやっており、現段階で移植に24時間かかっており、
達成率は50%くらい。レイアウトの変更作業がネックで、Desire以外のAndroidでも同じレイアウト
が保てるようにdrawする位置を調整するのにやたら時間がとられる。

で、とりあえず、今までの作業で判明したことを以下にメモする。

画像の描画はdrawBitmapで行う。このメソッドでは画像の一部を指定して拡大表示することもできる。
描画系はJavaだとGraphics gでg.drawなんとか みたいな感じだが、androidでは
Canvas cでc.drawRectみたいなかんじで描いていく。

音楽関係はandroidのMediaPlayerを使えば簡単に扱えるので移植は楽そう。むしろ
normalのJavaの方が音楽の扱いがめんどくさい。

画像や音声のリソースのロードはActivity内のonResumeメソッド内で処理した方がいいっぽい。
他の場所でロードしようとするとNullPointになってアプリが落ちる。移植開始直後はこれでかなり時間を
とられた。

携帯を傾けると勝手に画面も傾けてくれるのは便利かもしれないが、不要な場合も結構あると思われる。そういう
時はマニフェストファイルに傾けないように書き込むとよい。

携帯のバイブの使用も結構簡単に行える。これは日経ソフトウェア6月号のサンプルをみれば分かると思う。
ただし、マニフェストファイルにuse permittionを記述しておかないと、セキュリティ例外が発生
して落ちてしまう。

androidではgifアニメーションをサポートしていないようで、画像アニメーションがけっこう面倒くさい。
ただし、透明色の透明化は自動でやってくれるようなのでその点は楽。
アニメーションをするためには複数の画像を連続でdrawするか、
連続した画像がまとめられているひとつの画像の表示する部分を変えていく方法が考えられる。
(今回の移植では後者を利用)
しかし、この後者の手法を用いるとエミュレータではうまくいくのだが、Desire実機では画像がずれて
アニメーションしてしまう。これにも結構時間がとられた。
おそらくこれは機種ごとに画像の読み込みサイズが微妙に違っているかなんかで、アニメーションする時に
毎回変更する、画像の参照位置を修正するしかないようだ。
なので私はこの修正のために修正値をえるアプリをつくって、それで調整した。



他にも何か思いついたらメモしていくしだいです。

とりあえず動くようにはなったので、ライセンスフリー素材を見つけて
Marketにアップしたい…
スポンサーサイト

トラックバックURL

http://ilovevim.blog42.fc2.com/tb.php/131-e54af41e

この記事へのトラックバック

この記事へのコメント

コメント投稿フォーム

Paging Navigation

Navigations, etc.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。