回復アイテムを実行する
ShotBulletの改良
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ShotBullet : MonoBehaviour {
public GameObject bulletPrefab;
public AudioClip shotSound;
public float shotSpeed;
public static int shotBulletCount = 60;
public static int bulletItemCount = 0;
public Text bulletNum;
public Text bulletItemNum;
// ★追加
public AudioClip chargeSound;
void Start(){
bulletNum.color = Color.white;
bulletNum.text = shotBulletCount + "/60";
bulletItemNum.text = "× " + bulletItemCount;
}
void Update () {
if (Input.GetKeyDown (KeyCode.Space)) {
if (shotBulletCount < 1) {
return;
}
shotBulletCount -= 1;
bulletNum.text = shotBulletCount + "/60";
bulletItemNum.text = "× " + bulletItemCount;
GameObject bullet = (GameObject)Instantiate (bulletPrefab, transform.position, Quaternion.Euler (transform.parent.eulerAngles.x, transform.parent.eulerAngles.y, 0));
Rigidbody bulletRb = bullet.GetComponent<Rigidbody> ();
bulletRb.AddForce (transform.forward * shotSpeed);
AudioSource.PlayClipAtPoint (shotSound, Camera.main.transform.position);
Destroy (bullet, 2.0f);
}
// ★追加
// マウス・スクロールボタンを押した時、
if(Input.GetMouseButtonDown(2)){
// (復習)「return」の意味と使い方を復習しましょう!
// 回復アイテムの数が0になったら回復しないようにする
if(bulletItemCount < 1){
return;
}
// 回復アイテムの数を1ずつ減らす
bulletItemCount -= 1;
// 回復アイテムの残りの数を画面(パネル)に表示する
bulletItemNum.text = "× " + bulletItemCount;
// チャージ音を鳴らす。
AudioSource.PlayClipAtPoint (chargeSound, Camera.main.transform.position);
// ライフルの残弾数を10回復させる。
shotBulletCount += 10;
// 最大値以上には弾数が回復しないようにする。
if (shotBulletCount > 60) {
shotBulletCount = 60;
}
// 残弾数を画面(パネル)に表示する
bulletNum.text = shotBulletCount + "/60";
}
}
public void AddBulletItem(int amount){
bulletItemCount += amount;
print ("ライフル弾の回復の権利" + bulletItemCount + "回");
bulletItemNum.text = "× " + bulletItemCount;
}
}
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;
// ★追加
public AudioClip chargeSound;
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);
}
// ★追加
// マウス・スクロールボタンを押した時、
if(Input.GetMouseButtonDown(2)){
// (復習)「return」の意味と使い方を復習しましょう!
// 回復アイテムの数が0になったら回復しないようにする
if(RocketItemCount < 1){
return;
}
// 回復アイテムの数を1ずつ減らす
RocketItemCount -= 1;
// 回復アイテムの残りの数を画面(パネル)に表示する
rocketItemNum.text = "× " + RocketItemCount;
// チャージ音を鳴らす。
AudioSource.PlayClipAtPoint (chargeSound, Camera.main.transform.position);
// ロケットランチャーの残弾数を5回復させる。
shotRocketCount += 5;
// 最大値以上には弾数が回復しないようにする。
if (shotRocketCount > 30) {
shotRocketCount = 30;
}
// 残弾数を画面(パネル)に表示する
rocketNum.text = shotRocketCount + "/30";
}
}
public void AddRocketItem(int amount){
RocketItemCount += amount;
print ("ロケット弾の回復の権利" + RocketItemCount + "回");
rocketItemNum.text = "× " + RocketItemCount;
}
}
EscapeCombat(メモ)
他のコースを見るShotBulletの改良
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ShotBullet : MonoBehaviour {
public GameObject bulletPrefab;
public AudioClip shotSound;
public float shotSpeed;
public static int shotBulletCount = 60;
public static int bulletItemCount = 0;
public Text bulletNum;
public Text bulletItemNum;
// ★追加
public AudioClip chargeSound;
void Start(){
bulletNum.color = Color.white;
bulletNum.text = shotBulletCount + "/60";
bulletItemNum.text = "× " + bulletItemCount;
}
void Update () {
if (Input.GetKeyDown (KeyCode.Space)) {
if (shotBulletCount < 1) {
return;
}
shotBulletCount -= 1;
bulletNum.text = shotBulletCount + "/60";
bulletItemNum.text = "× " + bulletItemCount;
GameObject bullet = (GameObject)Instantiate (bulletPrefab, transform.position, Quaternion.Euler (transform.parent.eulerAngles.x, transform.parent.eulerAngles.y, 0));
Rigidbody bulletRb = bullet.GetComponent<Rigidbody> ();
bulletRb.AddForce (transform.forward * shotSpeed);
AudioSource.PlayClipAtPoint (shotSound, Camera.main.transform.position);
Destroy (bullet, 2.0f);
}
// ★追加
// マウス・スクロールボタンを押した時、
if(Input.GetMouseButtonDown(2)){
// (復習)「return」の意味と使い方を復習しましょう!
// 回復アイテムの数が0になったら回復しないようにする
if(bulletItemCount < 1){
return;
}
// 回復アイテムの数を1ずつ減らす
bulletItemCount -= 1;
// 回復アイテムの残りの数を画面(パネル)に表示する
bulletItemNum.text = "× " + bulletItemCount;
// チャージ音を鳴らす。
AudioSource.PlayClipAtPoint (chargeSound, Camera.main.transform.position);
// ライフルの残弾数を10回復させる。
shotBulletCount += 10;
// 最大値以上には弾数が回復しないようにする。
if (shotBulletCount > 60) {
shotBulletCount = 60;
}
// 残弾数を画面(パネル)に表示する
bulletNum.text = shotBulletCount + "/60";
}
}
public void AddBulletItem(int amount){
bulletItemCount += amount;
print ("ライフル弾の回復の権利" + bulletItemCount + "回");
bulletItemNum.text = "× " + bulletItemCount;
}
}
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;
// ★追加
public AudioClip chargeSound;
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);
}
// ★追加
// マウス・スクロールボタンを押した時、
if(Input.GetMouseButtonDown(2)){
// (復習)「return」の意味と使い方を復習しましょう!
// 回復アイテムの数が0になったら回復しないようにする
if(RocketItemCount < 1){
return;
}
// 回復アイテムの数を1ずつ減らす
RocketItemCount -= 1;
// 回復アイテムの残りの数を画面(パネル)に表示する
rocketItemNum.text = "× " + RocketItemCount;
// チャージ音を鳴らす。
AudioSource.PlayClipAtPoint (chargeSound, Camera.main.transform.position);
// ロケットランチャーの残弾数を5回復させる。
shotRocketCount += 5;
// 最大値以上には弾数が回復しないようにする。
if (shotRocketCount > 30) {
shotRocketCount = 30;
}
// 残弾数を画面(パネル)に表示する
rocketNum.text = shotRocketCount + "/30";
}
}
public void AddRocketItem(int amount){
RocketItemCount += amount;
print ("ロケット弾の回復の権利" + RocketItemCount + "回");
rocketItemNum.text = "× " + RocketItemCount;
}
}
回復アイテムを実行する