UI→SliderでCanvas配下に初期ゲージが表示される。
プロパティのDirectionでLeft To Rightが初期状態なのをBottom To Topにすると縦ゲージ
→
後はBackground(背景)を半透明ぎみに、Fill Areaを黄色、Handle Slide Areaをオレンジにするとそれっぽくなる。
チャージ量やライフゲージはValueのところで%指定にするか(やった)、Min ValueとMax
Valueで定数にするか?(こっちはやったことない)
標準の設定ではスマホに持っていくとGUIがちっちゃくなっちゃうので、設定を変える。
CanvasのCanvas Scaler→Ui Scale Modeを
Constant Pixel SizeからScale With Screen Sizeに変更する
下地に白黒バージョンを置いて、上にカラーバージョンを置く。カラーバージョンUI.Imageのfillをいじるかんじ。
var B1 : UI.Image;
B1 = GameObject.Find("Canvas/Attack1").GetComponent(UI.Image);
B1.fillAmount = 0.5f;←これで50%チャージ状態
ディアブロ系クールダウンアイコン設定
[Image Type]Filled
[Fill Method]Radial 360
[Fill Irigin]Top
クールダウン管理機能
function fillGet(Img : UI.Image){
return Img.fillAmount;
}
function fillZero(Img : UI.Image){
Img.fillAmount = 0.0f;
}
function fillRate(Img : UI.Image, rate : float){
Img.fillAmount += rate;
if(Img.fillAmount >= 1.0f) Img.fillAmount = 1.0f;
}
んで、ボタン押したか判定の中で
function Button1() {
if(fillGet(B1) == 1.0f){
fillZero(B1);←ボタン押したらゼロにする
PlAni.SetBool("a1", true);
}
}
あとはOnGUIあたりで
fillRate(B1, 0.02f);
しとけば勝手に増える。
増加レート指定じゃなくて最大フレーム指定のほうが使いやすいかな?(遅延効果発動みたいな)
使用可能状態(fill=1.0)になったら光るエフェクトとか必要かもね。
private function Button1() {
print("Button1");
}
・On Click()で増えたオプションのNo
Functionになってるのをスクリプトが入っているGameObject→スクリプト名に変更
**古い方法**
・On Click()で増えたオプションのNo
FunctionになってるのをGameObject→SendMessage(string)に変更
・ボタンが押された時に反応するスクリプト名を表記[Button1]
・テクスチャのInspectorで見た時に[Texture
Type]が[Texture]だと使えないので、
[Sprite(2D and
UI)]に変更してボタンの[Image(Script)]→[Source
Image]に放り込む
・[Sprite(2D
and UI)]に変更する
・[Source Image]にぶっこむ
・Canvas > (作成したボタン) > Text内の[Text]値を変更する