(スクリプト)
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class ShotShell_X : MonoBehaviour { public GameObject shellPrefab; public AudioClip shotSound; public AudioClip reloadSound; public int shellCount; public int reloadCount; public Text reloadlLabel; public GameObject[] shellIcons; private void Start() { reloadlLabel.text = "リロード可能回数:" + reloadCount; // shellアイコンの表示 UpdateShellIcons(); } void Update() { if (Input.GetMouseButtonDown(0) && shellCount > 0) { shellCount -= 1; GameObject shell = Instantiate(shellPrefab, transform.position, Quaternion.identity); Rigidbody shellRb = shell.GetComponent<Rigidbody>(); shellRb.AddForce(transform.forward * 500); AudioSource.PlayClipAtPoint(shotSound, Camera.main.transform.position); Destroy(shell, 5.0f); // shellアイコンの表示 UpdateShellIcons(); } if (Input.GetMouseButtonDown(1) && shellCount == 0) { if (reloadCount == 0) { return; } reloadCount -= 1; reloadlLabel.text = "リロード可能回数:" + reloadCount; shellCount = 3; AudioSource.PlayClipAtPoint(reloadSound, Camera.main.transform.position); // shellアイコンの表示 UpdateShellIcons(); } } void UpdateShellIcons() { for (int i = 0; i < shellIcons.Length; i++) { if (i < shellCount) { shellIcons[i].SetActive(true); } else { shellIcons[i].SetActive(false); } } } }