2012年7月31日火曜日

NGUI 残りHP表示(続編)

最近ブログの記事ごとのPV数をみていたらNGUI記事でもHP表示は人気が高い様子。やっぱりゲームに直結するものがいいのかな?

というわけでHP表示の続編で「ハート型のHP表示はどうすれば良い」についてNGUIフォーラムの作者回答を翻訳いたします。前回のようにCoolなスクリプトがついているわけでなくシンプルなテクニックですがあらかじめ了承ください。

http://www.tasharen.com/?topic=health-bar-with-transparency

January 29, 2012 at 1:36 PM

質問:
HP表示でハートが複数あって、ハートが増える前にその中でゲージが増えるものを作ろうとしています。今までは30フレームほどのアニメーションを作成してましたが
もっとNGUI使った良いやり方があるんじゃないかと思ってます。
たとえば:
ハートのゲージを作成したとしてその裏のレイヤーでゲージを増やして(単色のUISpriteみたいな)、表のレイヤーでは表示させないことってできないかなぁ?
(ゼルダのハートみたいなもの、で話が伝わるといいけど)簡単なテクスチャのAtlasでも良いです。

回答:
UIFilledSpritesが良いね。filledの値を何かのロジックで変更するとか。たとえば、HPが0から5まで変化するとして5つのスプライトでゲージができるし、コードで
値セットすればいいんじゃないかな:(Mathf.Clamp(val – heartIndex)

複数のスプライトを用意する際は、EverQuestみたいなバブルだとするとそれぞれのバブルがスプライトに相当するような感じ。もっと詳しくいうと経験値が
最大値5で現在値3.5だったら、3つの完全に埋まったスプライトを用意して、4つ目は半分埋まったスプライト、5つ目は空っぽのスプライトみたいな感じ。

透明度を持った普通のスプライトを表のレイヤーに用意して、その裏のレイヤーにゲージのスプライトを用意する。裏のゲージのスプライトを修正しても表には
影響しないから、結果的にハートの中でゲージが増えるように見えるようになるよ。
----

筆者は恥ずかしながらゼルダは遊んだことないのですが、外人の方どおしでゼルダのハートで通じる時代なのですね。強力なり80-90年代の日本ゲーム、そしてその強さが過去のものとならないようにわれわれも今度は外国からUnityの知識を再輸入せねば!(掛け声のみ・・・最近自分のゲーム開発サボり気味をちょっと反省。)


0 件のコメント:

コメントを投稿

ブックマークに追加

このエントリーをはてなブックマークに追加

自己紹介

自分の写真
Unity3D公式マニュアル翻訳やってる人がスマホ(iPhone, Android)のゲーム開発しています。気軽に面白く初心者が遊べる内容がモットー。Blogでは開発情報をひたすら、Twitterではゲーム作成の過程で参考にしている情報を中心につぶやきます

ページビューの合計

過去7日間の人気投稿