void CreateCameras() { for (int i = 0; i < localPlayerData.Length; i++) { GameObject newObj = Instantiate(cameraPrefab, Map.initialCameraSpawn.position, Map.initialCameraSpawn.rotation); MultiPlayerCamera cam = newObj.GetComponent <MultiPlayerCamera> (); localPlayerData [i].camera = cam; cam.SetCameraViewRect(localPlayerData [i].cameraRect); } }
private void Start() { if (levelCamera == null) { levelCamera = GameObject.FindObjectOfType <MultiPlayerCamera>(); } if (levelGenerator == null) { levelGenerator = GameObject.FindObjectOfType <LevelGenerator>(); } if (charater == null) { charater = gameObject.GetComponentInParent <MainCharacter>(); } SetCameraConstrains(); levelCamera.AttachPlayer(charater.transform); }
// Update is called once per frame void Update() { playerNumber = GetPlayerScript.playerNumber; if (playerNumber == 1) { cameraMode = MultiPlayerCamera.player1; } else if (playerNumber == 2) { cameraMode = MultiPlayerCamera.player2; } else if (playerNumber == 3) { cameraMode = MultiPlayerCamera.player3; } else if (playerNumber == 4) { cameraMode = MultiPlayerCamera.player4; } //1プレイヤー時の画面分割(本来は使わないが確認のため) if (cameraMode == MultiPlayerCamera.player1) { player1Camera.gameObject.SetActive(true); player2Camera.gameObject.SetActive(false); player3Camera.gameObject.SetActive(false); player4Camera.gameObject.SetActive(false); player1Camera.rect = new Rect(0.0f, 0.0f, 1.0f, 1.0f); player2Camera.rect = new Rect(0.0f, 0.0f, 0.0f, 1.0f); player3Camera.rect = new Rect(0.0f, 0.0f, 0.0f, 1.0f); player4Camera.rect = new Rect(0.0f, 0.0f, 0.0f, 1.0f); } //2プレイヤー時の画面分割 else if (cameraMode == MultiPlayerCamera.player2) { player1Camera.gameObject.SetActive(true); player2Camera.gameObject.SetActive(true); player3Camera.gameObject.SetActive(false); player4Camera.gameObject.SetActive(false); player1Camera.rect = new Rect(0.0f, 0.0f, 0.5f, 1.0f); player2Camera.rect = new Rect(0.5f, 0.0f, 0.5f, 1.0f); player3Camera.rect = new Rect(0.0f, 0.0f, 0.0f, 1.0f); player4Camera.rect = new Rect(0.0f, 0.0f, 0.0f, 1.0f); } //3プレイヤー時の画面分割 else if (cameraMode == MultiPlayerCamera.player3) { player1Camera.gameObject.SetActive(true); player2Camera.gameObject.SetActive(true); player3Camera.gameObject.SetActive(true); player4Camera.gameObject.SetActive(false); player1Camera.rect = new Rect(0.0f, 0.0f, 0.333f, 1.0f); player2Camera.rect = new Rect(0.333f, 0.0f, 0.333f, 1.0f); player3Camera.rect = new Rect(0.666f, 0.0f, 0.334f, 1.0f); player4Camera.rect = new Rect(0.0f, 0.0f, 0.0f, 1.0f); } //4プレイヤー時の画面分割 else if (cameraMode == MultiPlayerCamera.player4) { player1Camera.gameObject.SetActive(true); player2Camera.gameObject.SetActive(true); player3Camera.gameObject.SetActive(true); player4Camera.gameObject.SetActive(true); player1Camera.rect = new Rect(0.0f, 0.0f, 0.25f, 1.0f); player2Camera.rect = new Rect(0.25f, 0.0f, 0.25f, 1.0f); player3Camera.rect = new Rect(0.5f, 0.0f, 0.25f, 1.0f); player4Camera.rect = new Rect(0.75f, 0.0f, 0.25f, 1.0f); } }