Olá pessoal,
Estou desenvolvendo meu primeiro jogo em XNA.
Mas estou com uma dúvida:
Implementei a parte que lê qual tecla é pressionado da seguinte forma:
KeyboardState teclado = Keyboard.GetState();
if (teclado.IsKeyDown(Keys.Escape))
{
Exit();
}
if (teclado.IsKeyDown(Keys.Right))
{
nave.Direcao = new Vector2(1.0f, 0.0f);
}
if (teclado.IsKeyDown(Keys.Left))
{
nave.Direcao = new Vector2(-1.0f, 0.0f);
}
if (teclado.IsKeyDown(Keys.Up))
{
nave.Direcao = new Vector2(0.0f, -1.0f);
}
if (teclado.IsKeyDown(Keys.Down))
{
nave.Direcao = new Vector2(0.0f, 1.0f);
}
if ((teclado.IsKeyDown(Keys.Left)) && (teclado.IsKeyDown(Keys.Up)))
{
nave.Direcao = new Vector2(-1.0f, -1.0f);
}
if ((teclado.IsKeyDown(Keys.Left)) && (teclado.IsKeyDown(Keys.Down)))
{
nave.Direcao = new Vector2(-1.0f, 1.0f);
}
if ((teclado.IsKeyDown(Keys.Right)) && (teclado.IsKeyDown(Keys.Up)))
{
nave.Direcao = new Vector2(1.0f, -1.0f);
}
if ((teclado.IsKeyDown(Keys.Right)) && (teclado.IsKeyDown(Keys.Down)))
{
nave.Direcao = new Vector2(1.0f, 1.0f);
}
if (teclado.IsKeyDown(Keys.Space))
{
nave.Atirar(this, gameTime, nave.Posicao);
}
No entanto, da forma atual, quando eu aperto a seta para a esquerda do teclado, por exemplo, e depois eu solto, o meu objeto continua indo para a esquerda.
Gostaria de deixar de uma forma que quando eu solte a tecla, o meu objeto para de andar na tela.
Alguém sabe uma solução para isso?