public void Draw(SpriteBatch spriteBatch) { if (velocity.X > 0) { Enemywalk.Draw(spriteBatch, position, true); } else if (velocity.X == 0) { Enemyidle.Draw(spriteBatch, position); } else { Enemywalk.Draw(spriteBatch, position, false); } ////enemy1.Draw(spriteBatch); //spriteBatch.Draw(Statemachine.Pixel, rectangle, Color.White); }
public void Update(GameTime gameTime, Charakter charakter) { Console.WriteLine(state); velocity.Y += 0.15f; distance = charakter.Position.X - this.position.X; EnemyisWalkingRight = false; EnemyisWalkingLeft = false; position += velocity; rectangle = new Rectangle((int)position.X, (int)position.Y, 45, 54); switch (state) { case EnemyState.idle: //velocity.X = 0; UpdateIdle(); if (Math.Abs(distance) < 150) { state = EnemyState.hunting; } break; case EnemyState.patrolling: break; case EnemyState.hunting: UpdateHunting(); if (Math.Abs(distance) > 150) { state = EnemyState.idle; } break; } Enemyidle.Update(gameTime); Enemywalk.Update(gameTime); }