体力をハートマークで表示する・その1
妹「ぷちコンのやつ作り始める前に何やってたのか思い出してたんだけど、なんかウィジェットで体力表示を作ろうとして行き詰まってた気がする」
「今だったらウィジェットの調査が進んだから作れるのでは?」
妹「いや全盛期だったらそうかもしれないけど……」
「全盛期短すぎる」
妹「なんとか色々思い出しながらやってるんだけどさ、とりあえずハートで表示したいんだよ。ゼルダみたいな。でもどのウィジェットをどう配置して、どういう風にしたらそれが上手く減らせるものかと」
「一度に考えると全盛期でも普通に混乱するから、いくつかに分けて考えるといいと思う」
・ハートの変化
・ハートを並べて配置する
・良い感じの表示にするための条件分岐
「ざっとこの3点が必要だろうと思う」
妹「最初のハートの変化というところがもうわからないんですが」
「いや例えばゼルダの場合で言うと、ハートの1/4がなくなる表現とかあったでしょ? あとハートの器を手に入れると全体の数も増えるから、増える前をハートが見えない状態と考えると」
ハートがいっぱい
ハートが3/4
ハートが2/4
ハートが1/4
ハートが空
ハートが見えない
「これぐらいハートの変化パターンがあるということになる」
妹「ハートのかけらというのもあるから、満タンのハートが半分の時と、半分のハートが満タンの時とか、別パターンにあるのかな。あれは全部集めた時に1個増えるだけだったかな」
「そういうのを書き出していくんだよ。ハートのスプライトを1/4に切ってつなげたりすれば、そこまで複雑な仕組みは必要ないんだけど、そのためにはどこが共通してるかとかを調べないといけないから。そのための確認作業」
妹「ハートが半分だけ減るとかは考えてないんだけど、とりあえずハートがある時と、ダメージを受けた時の黒いハートがあれば。あとハートを増やすってのもやりたいかな」
「そしたら3パターンで、絵が2種類あればいいから、そんなに難しくなさそう。じゃあ次はハートを並べて置く。ハートの変化は無視して、とりあえずMAXの状態で置いてみる。たしか並べるウィジェットがあったはず」
妹「とりあえずこんな感じで、右に向かって等間隔にハートを並べたい。UniformGridPanelというのを使ったんだけど、合ってるのかな? あと最終的には顔グラフィックとかも付けて、もっと格好良くしたいんだけど」
「まずはどういう風にしたいのかというイメージ固めと、次にやる条件分岐の確認用だから。後でレイアウトは変えていいし、別のウィジェットを使ってもいい。ハートの変化が3パターンあって、それを変化させる条件がしっかりしてれば、見た目を変えてもちゃんと動くはずだから」
(続く)