Ejemplo n.º 1
0
        public CameraSplitScreen(Game1 game, Camera3Person camera1, Camera3Person camera2)
        {
            Vector2 screenSize = new Vector2(game.GraphicsDevice.Viewport.Width / 2, game.GraphicsDevice.Viewport.Height);

            fieldOfView = MathHelper.ToRadians(45f);
            aspectRatio = (float)(game.GraphicsDevice.Viewport.Width / 2) / game.GraphicsDevice.Viewport.Height;
            nearPlane   = 1f;
            farPlane    = 1000f;

            //the projection matrix is the same for both cameras
            projectionMatrix = Matrix.CreatePerspectiveFieldOfView(fieldOfView, aspectRatio, nearPlane, farPlane);

            this.game = game;

            this.camera1 = camera1;
            this.camera2 = camera2;

            //SCREEN 1 SIZE - LEFT SCREEN
            Screen1.X        = 0;
            Screen1.Y        = 0;
            Screen1.Width    = (int)screenSize.X;
            Screen1.Height   = (int)screenSize.Y;
            Screen1.MinDepth = 0;
            Screen1.MaxDepth = 1;

            //SCREEN 2 SIZE - RIGHT SCREEN
            Screen2.X        = (int)screenSize.X;
            Screen2.Y        = 0;
            Screen2.Width    = (int)screenSize.X;
            Screen2.Height   = (int)screenSize.Y;
            Screen2.MinDepth = 0;
            Screen2.MaxDepth = 1;
        }
Ejemplo n.º 2
0
        public CameraManager(Game1 game)
        {
            this.game = game;

            actCam      = 3;
            splitScreen = true;

            listCam = new List <BaseCam>();

            freeCamera          = new FreeCamera(game);
            cameraSurfaceFollow = new CameraSurfaceFollow(game);

            cameraBirdsEye = new CameraBirdsEye(game);

            cameraTank1 = new Camera3Person(game, game.tank1);
            cameraTank2 = new Camera3Person(game, game.tank2);

            listCam.Add(freeCamera);
            listCam.Add(cameraSurfaceFollow);
            listCam.Add(cameraBirdsEye);
            listCam.Add(cameraTank1);
            listCam.Add(cameraTank2);

            cameraSplitScreen = new CameraSplitScreen(game, cameraTank1, cameraTank2);

            ActiveView       = freeCamera.viewMatrix;
            ActiveProjection = freeCamera.projectionMatrix;
        }