複数のカメラを切り替える
複数のカメラを切り替える
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraController : MonoBehaviour
{
[SerializeField]
private Camera mainCamera;
[SerializeField]
private Camera FPSCamera;
// 「bool」は「true」か「false」の二択の情報を扱うことができます(ポイント)
private bool mainCameraON = true;
void Start()
{
mainCamera.enabled = true;
FPSCamera.enabled = false;
}
void Update()
{
// (重要ポイント)「&&」は論理関係の「かつ」を意味する。
// 「A && B」は「A かつ B」(条件AとBの両方が揃った時という意味)
// 「==」は「左右が等しい」という意味
// もしも「Cボタン」を押した時、「かつ」、「mainCameraON」のステータスが「true」の時(条件)
if (Input.GetKeyDown(KeyCode.C) && mainCameraON == true)
{
mainCamera.enabled = false;
FPSCamera.enabled = true;
mainCameraON = false;
} // もしも「Cボタン」を押した時、「かつ」、「mainCameraON」のステータスが「false」の時(条件)
else if (Input.GetKeyDown(KeyCode.C) && mainCameraON == false)
{
mainCamera.enabled = true;
FPSCamera.enabled = false;
mainCameraON = true;
}
}
}
2台のAudio Listenerを切り替える
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraController : MonoBehaviour
{
[SerializeField]
private Camera mainCamera;
[SerializeField]
private Camera FPSCamera;
private bool mainCameraON = true;
// ★追加
[SerializeField]
private AudioListener mainListener;
[SerializeField]
private AudioListener FPSListener;
void Start()
{
mainCamera.enabled = true;
FPSCamera.enabled = false;
// ★追加
mainListener.enabled = true; // オンにする
FPSListener.enabled = false; // オフにする
}
void Update()
{
if (Input.GetKeyDown(KeyCode.C) && mainCameraON == true)
{
mainCamera.enabled = false;
FPSCamera.enabled = true;
mainCameraON = false;
// ★追加
mainListener.enabled = false; // オフにする
FPSListener.enabled = true; // オンにする
}
else if (Input.GetKeyDown(KeyCode.C) && mainCameraON == false)
{
mainCamera.enabled = true;
FPSCamera.enabled = false;
mainCameraON = true;
// ★追加
mainListener.enabled = true; // オンにする
FPSListener.enabled = false; // オフにする
}
}
}
【2019版】BattleTank(基礎/全38回)
他のコースを見る複数のカメラを切り替える
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraController : MonoBehaviour
{
[SerializeField]
private Camera mainCamera;
[SerializeField]
private Camera FPSCamera;
// 「bool」は「true」か「false」の二択の情報を扱うことができます(ポイント)
private bool mainCameraON = true;
void Start()
{
mainCamera.enabled = true;
FPSCamera.enabled = false;
}
void Update()
{
// (重要ポイント)「&&」は論理関係の「かつ」を意味する。
// 「A && B」は「A かつ B」(条件AとBの両方が揃った時という意味)
// 「==」は「左右が等しい」という意味
// もしも「Cボタン」を押した時、「かつ」、「mainCameraON」のステータスが「true」の時(条件)
if (Input.GetKeyDown(KeyCode.C) && mainCameraON == true)
{
mainCamera.enabled = false;
FPSCamera.enabled = true;
mainCameraON = false;
} // もしも「Cボタン」を押した時、「かつ」、「mainCameraON」のステータスが「false」の時(条件)
else if (Input.GetKeyDown(KeyCode.C) && mainCameraON == false)
{
mainCamera.enabled = true;
FPSCamera.enabled = false;
mainCameraON = true;
}
}
}
2台のAudio Listenerを切り替える
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraController : MonoBehaviour
{
[SerializeField]
private Camera mainCamera;
[SerializeField]
private Camera FPSCamera;
private bool mainCameraON = true;
// ★追加
[SerializeField]
private AudioListener mainListener;
[SerializeField]
private AudioListener FPSListener;
void Start()
{
mainCamera.enabled = true;
FPSCamera.enabled = false;
// ★追加
mainListener.enabled = true; // オンにする
FPSListener.enabled = false; // オフにする
}
void Update()
{
if (Input.GetKeyDown(KeyCode.C) && mainCameraON == true)
{
mainCamera.enabled = false;
FPSCamera.enabled = true;
mainCameraON = false;
// ★追加
mainListener.enabled = false; // オフにする
FPSListener.enabled = true; // オンにする
}
else if (Input.GetKeyDown(KeyCode.C) && mainCameraON == false)
{
mainCamera.enabled = true;
FPSCamera.enabled = false;
mainCameraON = true;
// ★追加
mainListener.enabled = true; // オンにする
FPSListener.enabled = false; // オフにする
}
}
}
複数のカメラを切り替える