public void MoveCharacter() { left = Hardware.JoystickMovedLeft() || hardware.IsKeyPressed(Hardware.KEY_LEFT); right = Hardware.JoystickMovedRight() || hardware.IsKeyPressed(Hardware.KEY_RIGHT); if (isFalling) { mainCharacter.Fall(verticalSpeed); } else if (isJumping) { mainCharacter.MoveTo((short)(mainCharacter.X + horizontalSpeed), (short)(mainCharacter.Y + verticalSpeed)); verticalSpeed += VERTICAL_SPEED_DECREMENT; if (verticalSpeed >= MAX_VERTICAL_SPEED) { verticalSpeed = MAX_VERTICAL_SPEED; } mainCharacter.Fall(verticalSpeed); } else if (hardware.IsKeyPressed(Hardware.KEY_SPACE) || Hardware.JoystickPressed(0)) { isJumping = true; verticalSpeed = -1 * MAX_VERTICAL_SPEED; horizontalSpeed = left ? -1 * movement_increment : right ? +1 * movement_increment : 0.0f; mainCharacter.MoveTo((short)(mainCharacter.X + horizontalSpeed), (short)(mainCharacter.Y + verticalSpeed)); } else if (left && mainCharacter.X > 0) { mainCharacter.X -= mainCharacter.STEP_LENGHT; } else if (right && mainCharacter.X < GameController.SCREEN_WIDTH - mainCharacter.SPRITE_WIDTH) { mainCharacter.X += mainCharacter.STEP_LENGHT; } else if (Hardware.JoystickPressed(1)) { keyPressed = Hardware.KEY_ESC; } if (left && !isFalling) { mainCharacter.Animate(MovableSprite.SpriteDirections.LEFT); } else if (right && !isFalling) { mainCharacter.Animate(MovableSprite.SpriteDirections.RIGHT); } }
private void moveCharacter() { bool left = hardware.IsKeyPressed(Hardware.KEY_LEFT); bool right = hardware.IsKeyPressed(Hardware.KEY_RIGHT); bool kick = hardware.IsKeyPressed(Hardware.KEY_Q); bool punch = hardware.IsKeyPressed(Hardware.KEY_W); bool jump = hardware.IsKeyPressed(Hardware.KEY_SPACE); bool high_defense = hardware.IsKeyPressed(Hardware.KEY_E); if (left) { if (character.X > 0) { character.X -= MainCharacter.STEP_LENGTH; } } if (right) { character.X += MainCharacter.STEP_LENGTH; } if (left) { character.Animate(MovableSprite.SpriteMovement.LEFT); } if (right) { character.Animate(MovableSprite.SpriteMovement.LEFT); if (jump) { character.Animate(MovableSprite.SpriteMovement.FLIP_FORWARDS); } } if (kick) { character.Animate(MovableSprite.SpriteMovement.KICK); } if (punch) { character.Animate(MovableSprite.SpriteMovement.PUNCH); } if (jump) { character.Animate(MovableSprite.SpriteMovement.JUMP); } if (high_defense) { character.Animate(MovableSprite.SpriteMovement.PUNCH); } }
public void MoveCharacter() { left = Hardware.JoystickMovedLeft() || hardware.IsKeyPressed(Hardware.KEY_LEFT); right = Hardware.JoystickMovedRight() || hardware.IsKeyPressed(Hardware.KEY_RIGHT); if (isFalling) { mainCharacter.Fall(verticalSpeed <= 0 ? -verticalSpeed : verticalSpeed); } else if (isJumping) { mainCharacter.MoveTo((short)(mainCharacter.X + horizontalSpeed), (short)(mainCharacter.Y + verticalSpeed)); if (mainCharacter.CurrentDirection == MovableSprite.SpriteDirections.LEFT && map.XMap > 0) { map.XMap += (short)horizontalSpeed; } else if (mainCharacter.CurrentDirection == MovableSprite.SpriteDirections.RIGHT && map.XMap > 0) { map.XMap += (short)horizontalSpeed; } verticalSpeed += VERTICAL_SPEED_DECREMENT; if (verticalSpeed >= MAX_VERTICAL_SPEED) { verticalSpeed = MAX_VERTICAL_SPEED; } } else if (hardware.IsKeyPressed(Hardware.KEY_SPACE) || Hardware.JoystickPressed(0)) { isJumping = true; verticalSpeed = -1 * MAX_VERTICAL_SPEED; horizontalSpeed = left ? -1 * movement_increment : right ? +1 * movement_increment : 0.0f; mainCharacter.MoveTo((short)(mainCharacter.X + horizontalSpeed), (short)(mainCharacter.Y + verticalSpeed)); jumps++; } if (left && mainCharacter.X > 10) { mainCharacter.X -= mainCharacter.STEP_LENGHT; if (map.XMap > 0) { map.XMap -= mainCharacter.STEP_LENGHT; } } if (right && mainCharacter.X < map.Width - mainCharacter.SPRITE_WIDTH - 10) { mainCharacter.X += mainCharacter.STEP_LENGHT; if (map.XMap < map.Width - GameController.SCREEN_WIDTH) { map.XMap += mainCharacter.STEP_LENGHT; } } if (mainCharacter.Y - map.YMap < 110) { map.YMap -= 6; } if (mainCharacter.Y - map.YMap > 110) { map.YMap += 6; } if (map.XMap < 0) { map.XMap = 0; } else if (map.XMap > map.Width - GameController.SCREEN_WIDTH) { map.XMap = (short)(map.Width - GameController.SCREEN_WIDTH); } if (map.YMap < 0) { map.YMap = 0; } else if (map.YMap > map.Height - GameController.SCREEN_HEIGHT) { map.YMap = (short)(map.Height - GameController.SCREEN_HEIGHT); } if (mainCharacter.X < 0) { mainCharacter.X = 0; } else if (mainCharacter.X > map.Width - mainCharacter.SPRITE_WIDTH) { mainCharacter.X = (short)(map.Width - mainCharacter.SPRITE_WIDTH); } if (mainCharacter.Y - map.YMap < 0) { mainCharacter.Y = 0; } else if (mainCharacter.Y > map.Height - mainCharacter.SPRITE_HEIGHT) { mainCharacter.Y = (short)(map.Height - mainCharacter.SPRITE_HEIGHT); } else if (Hardware.JoystickPressed(1)) { keyPressed = Hardware.KEY_ESC; } if (left && !isFalling) { mainCharacter.Animate(MovableSprite.SpriteDirections.LEFT); } else if (right && !isFalling) { mainCharacter.Animate(MovableSprite.SpriteDirections.RIGHT); } }