Esempio n. 1
0
 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);
        }
Esempio n. 3
0
    // 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);
        }
    }