大家好我想根據我的遊戲視圖切換攝像頭我想要的是首先我的MainCam1將切換到CAM2之後,當PIN解決完成後,它應該切換回Maincam1,並且這應該在循環中,被製成。 我會感謝你的幫助如何將相機再次切換到起始位置?
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class PinCounter : MonoBehaviour {
public Text standingDisplay;
private GameManager gameManager;
private bool ballOutOfPlay = false;
private int lastStandingCount = -1;
private int lastSettledCount = 10;
private float lastChangeTime;
public Camera Maincam1;
public Camera cam2;
// Use this for initialization
void Start() {
Maincam1.enabled = true;
cam2.enabled = false;
gameManager = GameObject.FindObjectOfType<GameManager>();
}
// Update is called once per frame
void Update() {
standingDisplay.text = CountStanding().ToString();
if (ballOutOfPlay) {
UpdateStandingCountAndSettle();
standingDisplay.color = Color.red;
Maincam1.enabled = false;
cam2.enabled = true;
}
}
public void Reset() {
lastSettledCount = 10;
}
void OnTriggerExit (Collider collider) {
if (collider.gameObject.name == "Ball") {
ballOutOfPlay = true;
}
}
void UpdateStandingCountAndSettle() {
// Update the lastStandingCount
// Call PinsHaveSettled() when they have
int currentStanding = CountStanding();
cam2.enabled = false;
Maincam1.enabled = true;
if (currentStanding != lastStandingCount) {
lastChangeTime = Time.time;
lastStandingCount = currentStanding;
return;
}
float settleTime = 0.3f; // How long to wait to consider pins settled
if ((Time.time - lastChangeTime) > settleTime) { // If last change > 3s ago
PinsHaveSettled();
}
}
void PinsHaveSettled() {
int standing = CountStanding();
int pinFall = lastSettledCount - standing;
lastSettledCount = standing;
gameManager.Bowl (pinFall);
lastStandingCount = -1; // Indicates pins have settled, and ball not back in box
ballOutOfPlay = false;
standingDisplay.color = Color.green;
}
int CountStanding() {
int standing = 0;
foreach (Pin pin in GameObject.FindObjectsOfType<Pin>()) {
if (pin.IsStanding()) {
standing++;
}
}
return standing;
}
void LateUpdate(){
}
}
什麼是問題?你有任何錯誤或者你的代碼不工作? –