Unityと吉里吉里でSLGとかRPGを作るブログ

前回に引き続き、戦闘エフェクトを作成する。今回は数字エフェクト。ダメージ受けたり回復したりする時にでる奴。
取り合えず、4桁最大で、左から順に少しずつずれてアニメーションする様に設定してみる。


///数字エフェクトの概要
今まで作成したエフェクトと基本は同じ。画像は下の画像を使用する。
■画像例
damage_num.png
一番したにMがあるのは、MISSってのを作る可能性があるから。

今まで作成したエフェクト処理で同様に処理する。
①4桁なので、4レイヤ作成し全部に画像を読み込んでおく。
②桁数分エフェクト情報を表示する。
③エフェクト情報を元に表示領域を左にずらしてアニメーションする。

ここは今までと同様。ただし、数字エフェクトの場合、以下の処理が必要になる。
①桁数が固定ではない
 1桁ダメージから最大9999ダメージまである訳だから、桁数を取得してエフェクト情報を制御する必要がある。

②桁数に合わせて表示場所が違う
 4桁なら、一番左のレイヤは左端に表示されるけど、1桁なら中央に表示しないといけない。

③任意の数字を出す
 今までのエフェクトは決まったアニメーションだったが、今回はダメージや回復量にあわせる必要がある。

④徐々に表示
 1桁目が表示されてから、数フレーム後に次の桁が出る様にしたい。

まあ、だいたいこんな感じ。



///処理方法
①桁数が固定ではない
 これは桁数を取得して、その分レイヤを表示すればOK。数字エフェクト用レイヤを配列でもっておけば簡単に出来るだろう。

②桁数に合わせて表示場所が違う
 エフェクト情報に初期配置を作成しておき、ユニットの情報画像の幅から桁数X文字幅を引いて、2で割った値を全部に足せば真ん中に表示出来る

③任意の数字を出す
 画像例を見て貰えば分る様に、数字高さX実際の数字の位置に表示領域のY軸を設定すればOK。

④徐々に表示
 アニメーションを始めるまでのウェイトをエフェクト情報に設定すればOK。

結構メンドイな。

■実際に動かしてみる(4桁)
四桁
こんな感じ。数字は1234と表示してみてる。

■1桁
一桁
1桁の場合、ちゃんと中央に表示。勿論2桁3桁も中央表示になってる。




今回はここまで、やっと仕事のピークが終了。次回はアニメーション機能の充実とまとめを実施。
ここまでちょこちょこ増設してるので、仕様にもソースにも無駄が多い。

スポンサーサイト
2009.02.23 / Top↑
Secret

TrackBackURL
→http://nekodamasi.blog79.fc2.com/tb.php/30-91022aa9