ロケットランチャーの「残弾数」と「回復アイテム数」を画面に表示する
![6fb659c2 2fa3 4df5 9216 836ccf5baac6](https://codegenius.org/uploads/slide/image/2679/6fb659c2-2fa3-4df5-9216-836ccf5baac6.jpeg)
![403d3526 c4e3 4389 a8a7 7ec0c47d1ca3](https://codegenius.org/uploads/slide/image/2680/403d3526-c4e3-4389-a8a7-7ec0c47d1ca3.jpeg)
![6fc94068 9092 4287 b503 4942415f26e1](https://codegenius.org/uploads/slide/image/2681/6fc94068-9092-4287-b503-4942415f26e1.jpeg)
![46cc8cec a5d2 4e2f 87a1 19ec21c7b06d](https://codegenius.org/uploads/slide/image/2682/46cc8cec-a5d2-4e2f-87a1-19ec21c7b06d.jpeg)
ShotRocketの改良
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// ★追加
using UnityEngine.UI;
public class ShotRocket : MonoBehaviour {
public GameObject rocketPrefab;
public AudioClip shotSound;
public float rocketSpeed;
private float timeBetweenShot = 1.2f;
private float timer;
public static int shotRocketCount = 30;
public static int RocketItemCount = 0;
// ★追加
public Text rocketNum;
public Text rocketItemNum;
// ★追加
void Start(){
rocketNum.color = Color.white;
rocketNum.text = shotRocketCount + "/30";
rocketItemNum.text = "× " + RocketItemCount;
}
void Update () {
timer += Time.deltaTime;
if (Input.GetKeyDown (KeyCode.Space) && timer > timeBetweenShot) {
if (shotRocketCount < 1) {
return;
}
shotRocketCount -= 1;
// ★追加
rocketNum.text = shotRocketCount + "/30";
rocketItemNum.text = "× " + RocketItemCount;
timer = 0.0f;
GameObject rocket = (GameObject)Instantiate (rocketPrefab, transform.position, Quaternion.Euler (transform.parent.eulerAngles.x, transform.parent.eulerAngles.y, 0));
Rigidbody rocketRb = rocket.GetComponent<Rigidbody> ();
rocketRb.AddForce (transform.forward * rocketSpeed);
AudioSource.PlayClipAtPoint (shotSound, Camera.main.transform.position);
Destroy (rocket, 3.0f);
}
}
public void AddRocketItem(int amount){
RocketItemCount += amount;
print ("ロケット弾の回復の権利" + RocketItemCount + "回");
// ★追加
rocketItemNum.text = "× " + RocketItemCount;
}
}
![09e91b07 9dda 40ff 9558 af0e4310dd97](https://codegenius.org/uploads/slide/image/2683/09e91b07-9dda-40ff-9558-af0e4310dd97.jpeg)
![86409a37 efb8 42cb 83d2 220b351fab21](https://codegenius.org/uploads/slide/image/2684/86409a37-efb8-42cb-83d2-220b351fab21.jpeg)
![2652654f ed4f 4b96 bddc 4753677626a3](https://codegenius.org/uploads/slide/image/2685/2652654f-ed4f-4b96-bddc-4753677626a3.jpeg)
EscapeCombat(メモ)
他のコースを見る![6fb659c2 2fa3 4df5 9216 836ccf5baac6](https://codegenius.org/uploads/slide/image/2679/6fb659c2-2fa3-4df5-9216-836ccf5baac6.jpeg)
![403d3526 c4e3 4389 a8a7 7ec0c47d1ca3](https://codegenius.org/uploads/slide/image/2680/403d3526-c4e3-4389-a8a7-7ec0c47d1ca3.jpeg)
![6fc94068 9092 4287 b503 4942415f26e1](https://codegenius.org/uploads/slide/image/2681/6fc94068-9092-4287-b503-4942415f26e1.jpeg)
![46cc8cec a5d2 4e2f 87a1 19ec21c7b06d](https://codegenius.org/uploads/slide/image/2682/46cc8cec-a5d2-4e2f-87a1-19ec21c7b06d.jpeg)
ShotRocketの改良
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// ★追加
using UnityEngine.UI;
public class ShotRocket : MonoBehaviour {
public GameObject rocketPrefab;
public AudioClip shotSound;
public float rocketSpeed;
private float timeBetweenShot = 1.2f;
private float timer;
public static int shotRocketCount = 30;
public static int RocketItemCount = 0;
// ★追加
public Text rocketNum;
public Text rocketItemNum;
// ★追加
void Start(){
rocketNum.color = Color.white;
rocketNum.text = shotRocketCount + "/30";
rocketItemNum.text = "× " + RocketItemCount;
}
void Update () {
timer += Time.deltaTime;
if (Input.GetKeyDown (KeyCode.Space) && timer > timeBetweenShot) {
if (shotRocketCount < 1) {
return;
}
shotRocketCount -= 1;
// ★追加
rocketNum.text = shotRocketCount + "/30";
rocketItemNum.text = "× " + RocketItemCount;
timer = 0.0f;
GameObject rocket = (GameObject)Instantiate (rocketPrefab, transform.position, Quaternion.Euler (transform.parent.eulerAngles.x, transform.parent.eulerAngles.y, 0));
Rigidbody rocketRb = rocket.GetComponent<Rigidbody> ();
rocketRb.AddForce (transform.forward * rocketSpeed);
AudioSource.PlayClipAtPoint (shotSound, Camera.main.transform.position);
Destroy (rocket, 3.0f);
}
}
public void AddRocketItem(int amount){
RocketItemCount += amount;
print ("ロケット弾の回復の権利" + RocketItemCount + "回");
// ★追加
rocketItemNum.text = "× " + RocketItemCount;
}
}
![09e91b07 9dda 40ff 9558 af0e4310dd97](https://codegenius.org/uploads/slide/image/2683/09e91b07-9dda-40ff-9558-af0e4310dd97.jpeg)
![86409a37 efb8 42cb 83d2 220b351fab21](https://codegenius.org/uploads/slide/image/2684/86409a37-efb8-42cb-83d2-220b351fab21.jpeg)
![2652654f ed4f 4b96 bddc 4753677626a3](https://codegenius.org/uploads/slide/image/2685/2652654f-ed4f-4b96-bddc-4753677626a3.jpeg)
ロケットランチャーの「残弾数」と「回復アイテム数」を画面に表示する