~Enzian~

♥壊れている貴方が愛しい♥〜

unityのGUIでちょっと変わったゲージを作る

  こんにちは、このブログの初めての記事ようこそ(*^-^)。ここから紹介したいのはunityのGUIでハート型のHPゲージの実現です。バーではなくハートです。♥です。壊れている貴方が愛しいの♥です((o( ̄ー ̄)o))。

  すみません薬を取ってきましたwwゲージに使う画像2つを用意してあります。

Hpを表す画像
元の画像を被せる画像

左片はHpがmaxのときの画像で、常に表示します。もしHpが削られるたら右の画像を使って左図の上に被せるとHpは減らしているように見えます。Hpが0にるときは完全に右図しか見えなくなります。Hpは半分のときはこんな感じ〜

  PhotoShopは簡単にできますね、なぜunityのGUIを使うだろう(笑)。これをunityで実現する為にはmask使います。UnityのOnGUIにmaskはありませんが、GUI.BeginGroupはmaskの代わりになれます。

  1.     public static float nowMentalMax = 10;
  2.     public static float nowMental = 10;
  3. //青いハート
  4.     public Texture mentalgauge;
  5. //白いハート
  6.     public Texture mentalgauge_1;  
  7. void OnGUI() {
  8.             nowMental -= 0.3f * Time.deltaTime;
  9.             float mentalpercent = nowMental / nowMentalMax;
  10.             float size = Screen.width * 0.1f;
  11.             GUI.DrawTexture (new Rect (20, (Screen.height - 20) - size, size, size), mentalgauge);
  12.             GUI.BeginGroup (new Rect (20, (Screen.height - 20) - size * (1 mentalpercent), size, size));
  13.             GUI.DrawTexture (new Rect (0, size * mentalpercent, size, size), mentalgauge_1);
  14.             GUI.EndGroup ();   
  15.     }
 

  変数について説明します。まずはTextrueをコメントに書いたようにドラプ&ドロップしてください。OnGUIの中のsizeは画像のサイズです。new Rect()に謎の"20"は余白するためのものです。

  これは今回のゲームに用いられるメンタルゲージです、メンタルは減り続ける。メンタルが0になると、主人公は池に飛び込んで考えことをやめるwwゲームの完成を期待してください!

出来上がり
inserted by FC2 system