C# Class Platformer.Player

This is a game component that implements IUpdateable.
Inheritance: Microsoft.Xna.Framework.DrawableGameComponent
Show file Open project: zmthy/play-dead Class Usage Examples

Public Methods

Method Description
ApplyPhysics ( GameTime gameTime ) : void

Updates the player's velocity and position based on input, gravity, etc.

Draw ( GameTime gameTime, SpriteBatch spriteBatch ) : void

Draws the animated player.

EnterLevel ( Platformer.Level level ) : void
GotoLevel ( int levelIndex ) : void
LoadContent ( Microsoft.Xna.Framework.Content.ContentManager content ) : void

Loads the player sprite sheet and sounds.

OnKilled ( ) : void

Called when the player has been killed.

OnKilled ( String killedBy ) : void
OnKilled ( String killedBy, DeathType killedType ) : void
OnReachedExit ( ) : void

Called when this player reaches the level's exit.

Player ( Microsoft.Xna.Framework.Content.ContentManager content, Vector2 position, DynamicMap dynamicMap ) : System

Constructors a new player.

Reset ( Vector2 position ) : void

Resets the player to life.

Update ( GameTime gameTime, KeyboardState keyboardState, GamePadState gamePadState, TouchCollection touchState, AccelerometerState accelState, DisplayOrientation orientation, InputManager inputManager ) : void

Handles input, performs physics, and animates the player sprite.

We pass in all of the input states so that our game is only polling the hardware once per frame. We also pass the game's orientation because when using the accelerometer, we need to reverse our motion when the orientation is in the LandscapeRight orientation.

getPosition ( ) : Vector2

Private Methods

Method Description
DoJump ( float velocityY, GameTime gameTime ) : float

Calculates the Y velocity accounting for jumping and animates accordingly.

During the accent of a jump, the Y velocity is completely overridden by a power curve. During the decent, gravity takes over. The jump velocity is controlled by the jumpTime field which measures time into the accent of the current jump.

GetInput ( KeyboardState keyboardState, GamePadState gamePadState, TouchCollection touchState, AccelerometerState accelState, DisplayOrientation orientation, InputManager inputManager ) : void

Gets player horizontal movement and jump commands from input.

HandleCollisions ( ) : void

Detects and resolves all collisions between the player and his neighboring tiles. When a collision is detected, the player is pushed away along one axis to prevent overlapping. There is some special logic for the Y axis to handle platforms which behave differently depending on direction of movement.

IsAlignedToLadder ( ) : bool

Makes sure that the player is aligned to the center of a ladder piece We may not want this, allow for horizontal ladder movement?

checkFallDamage ( ) : void

Checks how far (if at all) the player has fallen. If the player has fallen to far, the player is killed, otherwise the player survives

idle ( ) : void

Method Details

ApplyPhysics() public method

Updates the player's velocity and position based on input, gravity, etc.
public ApplyPhysics ( GameTime gameTime ) : void
gameTime Microsoft.Xna.Framework.GameTime
return void

Draw() public method

Draws the animated player.
public Draw ( GameTime gameTime, SpriteBatch spriteBatch ) : void
gameTime Microsoft.Xna.Framework.GameTime
spriteBatch Microsoft.Xna.Framework.Graphics.SpriteBatch
return void

EnterLevel() public method

public EnterLevel ( Platformer.Level level ) : void
level Platformer.Level
return void

GotoLevel() public method

public GotoLevel ( int levelIndex ) : void
levelIndex int
return void

LoadContent() public method

Loads the player sprite sheet and sounds.
public LoadContent ( Microsoft.Xna.Framework.Content.ContentManager content ) : void
content Microsoft.Xna.Framework.Content.ContentManager
return void

OnKilled() public method

Called when the player has been killed.
public OnKilled ( ) : void
return void

OnKilled() public method

public OnKilled ( String killedBy ) : void
killedBy String
return void

OnKilled() public method

public OnKilled ( String killedBy, DeathType killedType ) : void
killedBy String
killedType DeathType
return void

OnReachedExit() public method

Called when this player reaches the level's exit.
public OnReachedExit ( ) : void
return void

Player() public method

Constructors a new player.
public Player ( Microsoft.Xna.Framework.Content.ContentManager content, Vector2 position, DynamicMap dynamicMap ) : System
content Microsoft.Xna.Framework.Content.ContentManager
position Vector2
dynamicMap DynamicMap
return System

Reset() public method

Resets the player to life.
public Reset ( Vector2 position ) : void
position Vector2 The position to come to life at.
return void

Update() public method

Handles input, performs physics, and animates the player sprite.
We pass in all of the input states so that our game is only polling the hardware once per frame. We also pass the game's orientation because when using the accelerometer, we need to reverse our motion when the orientation is in the LandscapeRight orientation.
public Update ( GameTime gameTime, KeyboardState keyboardState, GamePadState gamePadState, TouchCollection touchState, AccelerometerState accelState, DisplayOrientation orientation, InputManager inputManager ) : void
gameTime Microsoft.Xna.Framework.GameTime
keyboardState Microsoft.Xna.Framework.Input.KeyboardState
gamePadState Microsoft.Xna.Framework.Input.GamePadState
touchState TouchCollection
accelState AccelerometerState
orientation DisplayOrientation
inputManager InputManager
return void

getPosition() public method

public getPosition ( ) : Vector2
return Vector2