topical media & game development
game-xna-intro-XnaShooter-Game-SimpleCamera.cs / cs
#region Using directives
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Xna.Framework;
using XnaShooter.Helpers;
#endregion
namespace XnaShooter.Game
{
<summary>
Simple camera class just to move around a little.
Always focuses on the center and uses the same height.
</summary>
public class SimpleCamera : GameComponent
{
#region Variables
Vector3 camPos = new Vector3(0, 0, 50);
#endregion
#region Constructor
public SimpleCamera(BaseGame game)
: base(game)
{
} // SimpleCamera(game)
#endregion
#region Initialize
public override void Initialize()
{
base.Initialize();
} // Initialize
#endregion
#region Update
public override void Update(GameTime gameTime)
{
base.Update(gameTime);
// Update camera position (allow mouse and gamepad)
camPos.X += Input.MouseXMovement / 10;
camPos.Y += Input.MouseYMovement / 10;
camPos.X += Input.GamePad.ThumbSticks.Right.X;
camPos.Y += Input.GamePad.ThumbSticks.Right.Y;
camPos.Z += Input.GamePad.ThumbSticks.Left.Y;
camPos.Z += Input.MouseWheelDelta / 20;
BaseGame.ViewMatrix = Matrix.CreateLookAt(
camPos, Vector3.Zero, Vector3.Up);
} // Update(gameTime)
#endregion
#region Set position
public void SetPosition(Vector3 newPos)
{
camPos = newPos;
} // SetPosition(newPos)
#endregion
} // class SimpleCamera
} // namespace XnaShooter.Game
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.