コード例 #1
0
ファイル: Game1.cs プロジェクト: bradleat/trafps
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            // Allows the game to exit
            if (input.ButtonDown(Buttons.B))
            {
                this.Exit();
            }

            if (input.KeyDown(Keys.Escape))
            {
                this.Exit();
            }
            MouseState mouseState = Mouse.GetState();

            float elapsedSeconds = (float)gameTime.ElapsedGameTime.Milliseconds / 1000.0f;
            float forwardReq     = 0;

            Vector3 moveDirection = new Vector3(0, 0, 0);

            if (input.KeyDown(Keys.S))
            {
                forwardReq   += 5.0f;
                moveDirection = new Vector3(0, 0, 1);  //Backward
            }
            if (input.KeyDown(Keys.W))
            {
                forwardReq   += 5.0f;
                moveDirection = new Vector3(0, 0, -1);  //Forward
            }
            if (input.KeyDown(Keys.A))
            {
                forwardReq   += 5.0f;
                moveDirection = new Vector3(-1, 0, 0);  //Left
            }
            if (input.KeyDown(Keys.D))
            {
                forwardReq   += 5.0f;
                moveDirection = new Vector3(1, 0, 0);   //Right
            }

            camera.AddToCameraPosition(moveDirection, forwardReq, ref initalPos1, gameTime, false);
            person1.Position = initalPos1;

            for (int i = 0; i < models.Count; i++)
            {
                models[i].WorldMatrix = Matrix.CreateScale(2.0f);
            }

            camera.Update(mouseState, person1.Position);

            person1.WorldMatrix = Matrix.CreateScale(2.0f) * Matrix.CreateRotationY(4.05f);

            base.Update(gameTime);
        }