Ejemplo n.º 1
0
 public GameScreen(Game game, Camera2D camera)
 {
     Game = game;
     Camera = camera;
     RandomNum = new Random();
     spriteBatch = new SpriteBatch(game.GraphicsDevice);
     SortEntitiesForDraw = true;
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            // TODO: Add your initialization logic here
            Camera = new Camera2D(
                GraphicsDevice.Viewport,
                new Vector2(graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight));

            InitialiseGameScreens();

            base.Initialize();

            Input.Initialize(GraphicsDevice);

            // Set up button mappings. Note that TouchTwinStick translates the left touch pad to Pad0, which is the same
            // input device as the first connected Xbox controller.
            Input.ClearMappings();
            Input.ButtonMappings.Add((int)Controls.Up, new ButtonGeneric[] { ButtonGeneric.Pad0LeftThumbstickUp, ButtonGeneric.Up, ButtonGeneric.W });
            Input.ButtonMappings.Add((int)Controls.Down, new ButtonGeneric[] { ButtonGeneric.Pad0LeftThumbstickDown, ButtonGeneric.Down, ButtonGeneric.S });
            Input.ButtonMappings.Add((int)Controls.Left, new ButtonGeneric[] { ButtonGeneric.Pad0LeftThumbstickLeft, ButtonGeneric.Left, ButtonGeneric.A });
            Input.ButtonMappings.Add((int)Controls.Right, new ButtonGeneric[] { ButtonGeneric.Pad0LeftThumbstickRight, ButtonGeneric.Right, ButtonGeneric.D });

            //Input.ButtonMappings.Add((int)Controls.Suck, new ButtonGeneric[] { ButtonGeneric.TouchRightSide, ButtonGeneric.Space });
            //unfortunately you can't press up+left+space at the same time! so we have to use a different key...
            Input.ButtonMappings.Add((int)Controls.Suck, new ButtonGeneric[] { ButtonGeneric.TouchRightSide, ButtonGeneric.LeftControl, ButtonGeneric.RightControl});
            Input.ButtonMappings.Add((int)Controls.Select, new ButtonGeneric[] { ButtonGeneric.TapAnywhere, ButtonGeneric.Space });

            // Default value for this is not sensitive enough for the Eggtastic gameplay.
            // By default it's tuned to menu item selection and requires much bigger deviation
            Input.StickDirectionThreshold = 0.2f;
        }
Ejemplo n.º 3
0
        //public Matrix GetViewMatrixInvertY()
        //{
        //    return GetViewMatrixInvertY(Vector2.One);
        //}
        //public Matrix GetViewMatrixInvertY(Vector2 parallax)
        //{
        //    return Matrix.CreateTranslation(new Vector3(new Vector2(-Position.X, Position.Y) / (parallax * Zoom * DefaultZoom), 0.0f)) *
        //           Matrix.CreateTranslation(new Vector3(new Vector2(-Origin.X, Origin.Y), 0.0f)) *
        //           Matrix.CreateRotationZ(Rotation) *
        //           Matrix.CreateScale(Zoom * DefaultZoom, Zoom * DefaultZoom, 1.0f) *
        //           Matrix.CreateTranslation(new Vector3(Origin.X, -Origin.Y, 0.0f));
        //}
        public Camera2D Clone()
        {
            Camera2D c = new Camera2D();
            c.Position = Position;
            c.Origin = Origin;
            c.Zoom = Zoom;
            c.DefaultZoom = DefaultZoom;
            c.Rotation = Rotation;
            c.ExtraOffset = ExtraOffset;

            return c;
        }