(HPスライダーバーを作成する)
【復習】HPスライダーバーを作成しましょう。
*スライダーの名前は「PlayerHPSlider」にしてください。
(スクリプトを作成する)
「PlayerHealth」スクリプトを改良します。
下記の「★部分」のコードを追加してください。
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 | using System.Collections; using System.Collections.Generic; using UnityEngine; // ★追加 using UnityEngine.UI; public class PlayerHealth : MonoBehaviour { private int playerHP = 3; public GameObject effectPrefab; public AudioClip explosion; // ★追加 private Slider playerHPSlider; // ★追加 void Start(){ playerHPSlider = GameObject.Find ( "PlayerHPSlider" ).GetComponent<Slider> (); playerHPSlider.maxValue = playerHP; playerHPSlider.value = playerHP; } void OnTriggerEnter(Collider other){ if (other.gameObject.CompareTag ( "EnemyShell" )) { playerHP -= 1; Destroy (other.gameObject); // ★追加 playerHPSlider.value = playerHP; if (playerHP == 0) { GameObject effect = Instantiate (effectPrefab, transform.position, Quaternion.identity) as GameObject; Destroy (effect, 0.5f); AudioSource.PlayClipAtPoint (explosion, transform.position); // プレーヤーを非アクティブ状態にする this .gameObject.SetActive( false ); } } } } |
下記の2箇所(「Max Value」と「Value」)はコードのどの部分と対応しているか考えてみましょう。
・コードが書けたらチェック
・再生ボタンを押して敵のミサイルに当たってみましょう。ミサイルが当たるたびごとにスライダーの色が変化すれば成功です。