public static LinearMovement create(Vector2 position, float verticalOffset, float angle, float speed = DEFAULT_SPEED) { // Adjust the position slightly to match the muzzle of the cannon. position.Y += 37 + verticalOffset; if (Math.Cos(angle) >= 0.0f) { position.X += 70; } else { position.X -= 70; } var direction = new Vector2(); direction.X = (float)Math.Cos((double)angle); direction.Y = (float)Math.Sin((double)angle); var m = new LinearMovement(position, direction); m.MoveSpeed = speed; return(m); }
protected override void Fire(GameTime gameTime) { for (var i = 0; i < nbBullets; i++) { _game.AddLaser(LinearMovement.create(_entity.Position, -10f, 360.0f / nbBullets * i), _collisionLayers); } }
protected override void Fire(GameTime gameTime) { // Add the laer to our list. _game.AddLaser(LinearMovement.create(_entity.Position, -10f, -30.0f * (float)Math.PI / 180.0f), _collisionLayers); _game.AddLaser(LinearMovement.create(_entity.Position, 0f, 0.0f), _collisionLayers); _game.AddLaser(LinearMovement.create(_entity.Position, 10f, 30.0f * (float)Math.PI / 180.0f), _collisionLayers); }
protected override void Fire(GameTime gameTime) { Vector2 gravity = new Vector2(0, 1); _game.AddLaser(GravityMovement.Create(_entity.Position, -10f, 0, gravity, 20), _collisionLayers); gravity = new Vector2(0, -1); _game.AddLaser(GravityMovement.Create(_entity.Position, -10f, 0, gravity, 20), _collisionLayers); _game.AddLaser(LinearMovement.create(_entity.Position, -10f, 0), _collisionLayers); }
public override void OnEnter() { _enemy.EnemyAnimation.Color = Color.White; _enemy.Movement = LinearMovement.create(_enemy.Position, 0, 0, 5f); }
protected override void Fire(GameTime gameTime) { _game.AddLaser(LinearMovement.create(_entity.Position, -10f, 0.0f), _collisionLayers); _game.AddLaser(LinearMovement.create(_entity.Position, -10f, 180.0f), _collisionLayers); }
protected virtual void Fire(GameTime gameTime) { _game.AddLaser(LinearMovement.create(_entity.Position, 0f, _weaponAngle), _collisionLayers); }