残弾数を回復させる「権利」の作成
![5aa63849 8aa9 48a3 ad2d c12c28984d04](https://codegenius.org/uploads/slide/image/2655/5aa63849-8aa9-48a3-ad2d-c12c28984d04.jpeg)
![A9332949 b548 4dd6 8e5a 4d3066c87dba](https://codegenius.org/uploads/slide/image/2656/a9332949-b548-4dd6-8e5a-4d3066c87dba.jpeg)
![22cc9953 2797 4bca 8331 ae953828a58c](https://codegenius.org/uploads/slide/image/2657/22cc9953-2797-4bca-8331-ae953828a58c.jpeg)
![5df282f2 f411 46b8 acd7 5f44bb57d983](https://codegenius.org/uploads/slide/image/2658/5df282f2-f411-46b8-acd7-5f44bb57d983.jpeg)
![08050b42 1f07 42ab a60b 161fed056afb](https://codegenius.org/uploads/slide/image/2659/08050b42-1f07-42ab-a60b-161fed056afb.jpeg)
![Da2646f5 ba2b 4820 8dcf 90695a629e60](https://codegenius.org/uploads/slide/image/2660/da2646f5-ba2b-4820-8dcf-90695a629e60.jpeg)
ライフル弾の回復の権利
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ShotBullet : MonoBehaviour {
public GameObject bulletPrefab;
public AudioClip shotSound;
public float shotSpeed;
public static int shotBulletCount = 10;
// ★追加
// 回復の権利の箱
public static int bulletItemCount = 0;
void Update () {
if (Input.GetKeyDown (KeyCode.Space)) {
if (shotBulletCount < 1) {
return;
}
shotBulletCount -= 1;
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);
}
}
// ★追加
public void AddBulletItem(int amount){
bulletItemCount += amount;
print ("ライフル弾の回復の権利" + bulletItemCount + "回");
}
}
![75733c55 ec8f 42f5 a691 a3bc4c0f4954](https://codegenius.org/uploads/slide/image/2661/75733c55-ec8f-42f5-a691-a3bc4c0f4954.jpeg)
BulletItem
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BulletItem : MonoBehaviour {
public AudioClip getSound;
public AudioClip buzzerSound;
private GameObject sb;
void OnTriggerEnter(Collider other){
if (other.gameObject.tag == "Player") {
sb = GameObject.Find ("ShotBullet");
// (重要ポイント)
// 「!= null」の意味を確認しましょう。
// ShotBulletオブジェクトが非表示(オフ)ではない時、つまり「オン」の時
if (sb != null) {
sb.GetComponent<ShotBullet> ().AddBulletItem (1);
AudioSource.PlayClipAtPoint (getSound, Camera.main.transform.position);
Destroy (gameObject);
} else {
// ShotBulletオブジェクトが非表示(オフ)の時は警告音を鳴らす。
AudioSource.PlayClipAtPoint (buzzerSound, Camera.main.transform.position);
}
}
}
}
![15f35ee3 4682 48f9 bf0e d08c2f46521d](https://codegenius.org/uploads/slide/image/2662/15f35ee3-4682-48f9-bf0e-d08c2f46521d.jpeg)
![F0130e15 d2dc 4cad 9010 61ee1207b0a8](https://codegenius.org/uploads/slide/image/2663/f0130e15-d2dc-4cad-9010-61ee1207b0a8.jpeg)
![9a32c4ac a4fc 4c2d b23c 20e072a6fd69](https://codegenius.org/uploads/slide/image/2664/9a32c4ac-a4fc-4c2d-b23c-20e072a6fd69.jpeg)
![D9858795 0c89 4027 b33f 9e5211f60161](https://codegenius.org/uploads/slide/image/2665/d9858795-0c89-4027-b33f-9e5211f60161.jpeg)
![7b254a22 2fc4 4950 af14 51bf650a0d46](https://codegenius.org/uploads/slide/image/2666/7b254a22-2fc4-4950-af14-51bf650a0d46.jpeg)
![3693554b 1418 491e a307 8f9e0a16c641](https://codegenius.org/uploads/slide/image/2667/3693554b-1418-491e-a307-8f9e0a16c641.jpeg)
![8bd86362 b2d2 4bf4 b5aa 940b6c0d848f](https://codegenius.org/uploads/slide/image/2668/8bd86362-b2d2-4bf4-b5aa-940b6c0d848f.jpeg)
ロケット弾の回復の権利
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
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 = 10;
// ★追加
// 回復の権利の箱
public static int RocketItemCount = 0;
void Update () {
timer += Time.deltaTime;
if (Input.GetKeyDown (KeyCode.Space) && timer > timeBetweenShot) {
if (shotRocketCount < 1) {
return;
}
shotRocketCount -= 1;
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 + "回");
}
}
![2b305ef5 5271 49e0 aa99 3156fc23470b](https://codegenius.org/uploads/slide/image/2669/2b305ef5-5271-49e0-aa99-3156fc23470b.jpeg)
RocketItem
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RocketItem : MonoBehaviour {
public AudioClip getSound;
public AudioClip buzzerSound;
private GameObject sr;
void OnTriggerEnter(Collider other){
if (other.gameObject.tag == "Player") {
sr = GameObject.Find ("ShotRocket");
// (重要ポイント)
// 「!= null」の意味を確認しましょう。
// ShotRocketオブジェクトが非表示(オフ)ではない時、つまり「オン」の時
if (sr != null) {
sr.GetComponent<ShotRocket> ().AddRocketItem (1);
AudioSource.PlayClipAtPoint (getSound, Camera.main.transform.position);
Destroy (gameObject);
} else {
// ShotRocketオブジェクトが非表示(オフ)の時は警告音を鳴らす。
AudioSource.PlayClipAtPoint (buzzerSound, Camera.main.transform.position);
}
}
}
}
![Cf327e85 52dd 48d6 a1db 82553d5b18f8](https://codegenius.org/uploads/slide/image/2670/cf327e85-52dd-48d6-a1db-82553d5b18f8.jpeg)
![34fa90bf 7983 4f3c abbe f7aa307920e7](https://codegenius.org/uploads/slide/image/2671/34fa90bf-7983-4f3c-abbe-f7aa307920e7.jpeg)
EscapeCombat(メモ)
他のコースを見る![5aa63849 8aa9 48a3 ad2d c12c28984d04](https://codegenius.org/uploads/slide/image/2655/5aa63849-8aa9-48a3-ad2d-c12c28984d04.jpeg)
![A9332949 b548 4dd6 8e5a 4d3066c87dba](https://codegenius.org/uploads/slide/image/2656/a9332949-b548-4dd6-8e5a-4d3066c87dba.jpeg)
![22cc9953 2797 4bca 8331 ae953828a58c](https://codegenius.org/uploads/slide/image/2657/22cc9953-2797-4bca-8331-ae953828a58c.jpeg)
![5df282f2 f411 46b8 acd7 5f44bb57d983](https://codegenius.org/uploads/slide/image/2658/5df282f2-f411-46b8-acd7-5f44bb57d983.jpeg)
![08050b42 1f07 42ab a60b 161fed056afb](https://codegenius.org/uploads/slide/image/2659/08050b42-1f07-42ab-a60b-161fed056afb.jpeg)
![Da2646f5 ba2b 4820 8dcf 90695a629e60](https://codegenius.org/uploads/slide/image/2660/da2646f5-ba2b-4820-8dcf-90695a629e60.jpeg)
ライフル弾の回復の権利
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ShotBullet : MonoBehaviour {
public GameObject bulletPrefab;
public AudioClip shotSound;
public float shotSpeed;
public static int shotBulletCount = 10;
// ★追加
// 回復の権利の箱
public static int bulletItemCount = 0;
void Update () {
if (Input.GetKeyDown (KeyCode.Space)) {
if (shotBulletCount < 1) {
return;
}
shotBulletCount -= 1;
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);
}
}
// ★追加
public void AddBulletItem(int amount){
bulletItemCount += amount;
print ("ライフル弾の回復の権利" + bulletItemCount + "回");
}
}
![75733c55 ec8f 42f5 a691 a3bc4c0f4954](https://codegenius.org/uploads/slide/image/2661/75733c55-ec8f-42f5-a691-a3bc4c0f4954.jpeg)
BulletItem
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BulletItem : MonoBehaviour {
public AudioClip getSound;
public AudioClip buzzerSound;
private GameObject sb;
void OnTriggerEnter(Collider other){
if (other.gameObject.tag == "Player") {
sb = GameObject.Find ("ShotBullet");
// (重要ポイント)
// 「!= null」の意味を確認しましょう。
// ShotBulletオブジェクトが非表示(オフ)ではない時、つまり「オン」の時
if (sb != null) {
sb.GetComponent<ShotBullet> ().AddBulletItem (1);
AudioSource.PlayClipAtPoint (getSound, Camera.main.transform.position);
Destroy (gameObject);
} else {
// ShotBulletオブジェクトが非表示(オフ)の時は警告音を鳴らす。
AudioSource.PlayClipAtPoint (buzzerSound, Camera.main.transform.position);
}
}
}
}
![15f35ee3 4682 48f9 bf0e d08c2f46521d](https://codegenius.org/uploads/slide/image/2662/15f35ee3-4682-48f9-bf0e-d08c2f46521d.jpeg)
![F0130e15 d2dc 4cad 9010 61ee1207b0a8](https://codegenius.org/uploads/slide/image/2663/f0130e15-d2dc-4cad-9010-61ee1207b0a8.jpeg)
![9a32c4ac a4fc 4c2d b23c 20e072a6fd69](https://codegenius.org/uploads/slide/image/2664/9a32c4ac-a4fc-4c2d-b23c-20e072a6fd69.jpeg)
![D9858795 0c89 4027 b33f 9e5211f60161](https://codegenius.org/uploads/slide/image/2665/d9858795-0c89-4027-b33f-9e5211f60161.jpeg)
![7b254a22 2fc4 4950 af14 51bf650a0d46](https://codegenius.org/uploads/slide/image/2666/7b254a22-2fc4-4950-af14-51bf650a0d46.jpeg)
![3693554b 1418 491e a307 8f9e0a16c641](https://codegenius.org/uploads/slide/image/2667/3693554b-1418-491e-a307-8f9e0a16c641.jpeg)
![8bd86362 b2d2 4bf4 b5aa 940b6c0d848f](https://codegenius.org/uploads/slide/image/2668/8bd86362-b2d2-4bf4-b5aa-940b6c0d848f.jpeg)
ロケット弾の回復の権利
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
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 = 10;
// ★追加
// 回復の権利の箱
public static int RocketItemCount = 0;
void Update () {
timer += Time.deltaTime;
if (Input.GetKeyDown (KeyCode.Space) && timer > timeBetweenShot) {
if (shotRocketCount < 1) {
return;
}
shotRocketCount -= 1;
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 + "回");
}
}
![2b305ef5 5271 49e0 aa99 3156fc23470b](https://codegenius.org/uploads/slide/image/2669/2b305ef5-5271-49e0-aa99-3156fc23470b.jpeg)
RocketItem
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RocketItem : MonoBehaviour {
public AudioClip getSound;
public AudioClip buzzerSound;
private GameObject sr;
void OnTriggerEnter(Collider other){
if (other.gameObject.tag == "Player") {
sr = GameObject.Find ("ShotRocket");
// (重要ポイント)
// 「!= null」の意味を確認しましょう。
// ShotRocketオブジェクトが非表示(オフ)ではない時、つまり「オン」の時
if (sr != null) {
sr.GetComponent<ShotRocket> ().AddRocketItem (1);
AudioSource.PlayClipAtPoint (getSound, Camera.main.transform.position);
Destroy (gameObject);
} else {
// ShotRocketオブジェクトが非表示(オフ)の時は警告音を鳴らす。
AudioSource.PlayClipAtPoint (buzzerSound, Camera.main.transform.position);
}
}
}
}
![Cf327e85 52dd 48d6 a1db 82553d5b18f8](https://codegenius.org/uploads/slide/image/2670/cf327e85-52dd-48d6-a1db-82553d5b18f8.jpeg)
![34fa90bf 7983 4f3c abbe f7aa307920e7](https://codegenius.org/uploads/slide/image/2671/34fa90bf-7983-4f3c-abbe-f7aa307920e7.jpeg)
残弾数を回復させる「権利」の作成