1)UIを設定する
・「Canvas」の上で右クリック→「UI」→「Slider」を選択してクリック
・Sliderの名前を「TankHPSlider」に変更する。
・「Handle Slide Area」は使用しないので、「削除」する。(右クリックでdelete)
・「TankHPSlider」を選択→「Interactable」のチェックを外す。
・「Fill Area」を選択→「Rect Transform」の数字を「全て0」にする。
・「Fill」を選択→こちらも「Rect Transform」の数字を「全て0」にする。
・「Background」を選択→「Color」の色を変更する(色は自由)
・「Fill」を選択→こちらも「Color」の色を変更する(色は自由)
・「TankHPSlider」を選択→「Value」を左右にスライド→連動して色が変われば成功です。
*ここまでできたら、画面上で「TankHPSlider」の位置を「Rect Transform」で調整しましょう。
・「TankHPSlider」をクリック→「Max Value」に自分のプレーヤー(Tank)の最大HPの数字を入れる。
2)スクリプトの作成
・「TankHealth」スクリプトに下記のコードを追加してください。(★★の部分)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.SceneManagement; public class TankHealth : MonoBehaviour { public GameObject effectPrefab1; public GameObject effectPrefab2; public int tankHP; public Text tankHPLabel; // ★★(追加) private Slider slider; void Start(){ tankHPLabel.text = "" + tankHP; // ★★(追加) // 「TankHPSlider」という名前のオブジェクトを見つける。 // そのオブジェクトに付いてる「Slider」コンポーネントの情報を「slider」という箱の中に入れる。 slider = GameObject.Find( "TankHPSlider" ).GetComponent<Slider>(); } void OnTriggerEnter(Collider other){ if (other.gameObject.CompareTag( "EnemyShell" )){ tankHP -= 1; tankHPLabel.text = "" + tankHP; // ★★(追加) slider.value = tankHP; if (tankHP > 0){ GameObject effect1 = Instantiate(effectPrefab1, transform.position, Quaternion.identity) as GameObject; Destroy(effect1, 1.0f); Destroy(other.gameObject); } else { GameObject effect2 = Instantiate(effectPrefab2, transform.position, Quaternion.identity) as GameObject; Destroy(effect2, 1.0f); Destroy(other.gameObject); gameObject.SetActive( false ); //Destroy(gameObject,3.0f); Invoke( "SceneChange" , 3.0f); } } } void SceneChange(){ SceneManager.LoadScene( "Main" ); //Application.LoadLevel("Main"); } public void AddHP( int amount){ tankHP += amount; if (tankHP >= 20) tankHP = 20; tankHPLabel.text = "" + tankHP; // ★★(追加) slider.value = tankHP; } } |
・スクリプトの修正ができたらチェック。
・再生ボタンを押して確認してみましょう。
・敵の攻撃を受けたり、回復アイテムを獲るたびにバーの色が変化すれば成功です。