BLOGは株式会社ケイズ・ソフトウェアが運営しています。技術力{技術情報}ライフゲージは、格闘ゲームなどで残り体力を表すのによく用いられます。描画からちまちま実装していくのは結構メンドイです。Androidのウィジェットにはプログレスバーがあり、その名のとおり進捗率を表すのに使用されます。それを応用した、ライフゲージのお手軽実装方法を紹介します。アクティビティのレイアウトXMLにHorizontalなプログレスバーを記述します。/>表示を確認するため、アクティビティのonCreate()で値を設定します。bar.setProgress(80);表示はこんな感じです。見てもプログレスバーです。ライフゲージっぽくなるよう色を変えたいところですが、それに該当するようなプロパティはないようです。そこでDrawbleを別途定義し、外観をカスタマイズできるようにします。drawble/progressbar.xmlを新規作成します。</item></layer-list>次にアクティビティのレイアウトを修正し、drawbleのXMLファイルを参照させます。/>表示はこんな感じです。見てもライフゲージです。それでは敵のライフも表示させてみましょう。bar.setProgress(80);二つ並んで表示されましたが、ライフの減る方向が同じ向きになってしまっています。古くはイー・アル・カンフーの時代から、ライフは中央に向かって減ることに決まりきっているのです。左側のライフゲージの向きを逆にしてやりましょう。そんな都合のいいプロパティはありません。するのかというと、ライフとダメージの色を入れ替えてしまうのです。drawbleのXMLファイルをもう一つ作り、android:colorの定義色を入れ替えます(XMLファイルは省略)。左側のプログレスバーのレイアウトXMLで、android:progressDrawableの参照先を追加したXMLファイルに変更します。双方のライフとも中央に向かって減るようになりました。左側のプログレスバーは進捗率も逆転させてやります。bar.setProgress(80);ライフゲージができました。あとはキャラ描画をチョロっと書いてコマンド入力をチョロっと書いて衝突判定をチョロっと書けば格闘ゲームのできあがりです。ゲームはほぼ完成したも同然ですね。