ビームの切り替え機能の実装
![90b3f486 4692 4324 bb32 be3750726422](https://codegenius.org/uploads/slide/image/8226/90b3f486-4692-4324-bb32-be3750726422.jpeg)
ビームの切り替え
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ShotBeam : MonoBehaviour
{
public GameObject laserGun;
// ★改良(ビームの切り替え)
public GameObject[] beamPrefabs;
public AudioClip shotSound;
public float shotSpeed;
// ★追加(ビームの切り替え)
private int num = 0;
public AudioClip changeSound;
void Update()
{
// ★追加(ビームの切り替え)
// マウス右クリックで切り替える
if(Input.GetMouseButtonDown(1))
{
// 順送りのテクニック
num = (num + 1) % beamPrefabs.Length;
AudioSource.PlayClipAtPoint(changeSound, Camera.main.transform.position);
}
if(Input.GetMouseButtonDown(0))
{
// ★改良(ビームの切り替え)
GameObject beam = Instantiate(beamPrefabs[num], transform.position, laserGun.transform.rotation);
Rigidbody beamRb = beam.GetComponent<Rigidbody>();
beamRb.AddForce(transform.forward * shotSpeed);
AudioSource.PlayClipAtPoint(shotSound, Camera.main.transform.position);
}
}
}
![12a13ebc 4bed 49c2 b23e 6eaee007bef3](https://codegenius.org/uploads/slide/image/8227/12a13ebc-4bed-49c2-b23e-6eaee007bef3.jpeg)
![F5844fb3 6e7b 41c8 b925 34ddd2e9ea96](https://codegenius.org/uploads/slide/image/8228/f5844fb3-6e7b-41c8-b925-34ddd2e9ea96.jpeg)
【2021版】X_Mission(全34回)
他のコースを見る![90b3f486 4692 4324 bb32 be3750726422](https://codegenius.org/uploads/slide/image/8226/90b3f486-4692-4324-bb32-be3750726422.jpeg)
ビームの切り替え
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ShotBeam : MonoBehaviour
{
public GameObject laserGun;
// ★改良(ビームの切り替え)
public GameObject[] beamPrefabs;
public AudioClip shotSound;
public float shotSpeed;
// ★追加(ビームの切り替え)
private int num = 0;
public AudioClip changeSound;
void Update()
{
// ★追加(ビームの切り替え)
// マウス右クリックで切り替える
if(Input.GetMouseButtonDown(1))
{
// 順送りのテクニック
num = (num + 1) % beamPrefabs.Length;
AudioSource.PlayClipAtPoint(changeSound, Camera.main.transform.position);
}
if(Input.GetMouseButtonDown(0))
{
// ★改良(ビームの切り替え)
GameObject beam = Instantiate(beamPrefabs[num], transform.position, laserGun.transform.rotation);
Rigidbody beamRb = beam.GetComponent<Rigidbody>();
beamRb.AddForce(transform.forward * shotSpeed);
AudioSource.PlayClipAtPoint(shotSound, Camera.main.transform.position);
}
}
}
![12a13ebc 4bed 49c2 b23e 6eaee007bef3](https://codegenius.org/uploads/slide/image/8227/12a13ebc-4bed-49c2-b23e-6eaee007bef3.jpeg)
![F5844fb3 6e7b 41c8 b925 34ddd2e9ea96](https://codegenius.org/uploads/slide/image/8228/f5844fb3-6e7b-41c8-b925-34ddd2e9ea96.jpeg)
ビームの切り替え機能の実装