Fórum Sharpgames
 
 
  Forum  Criação de Jogo...  Geral  [Ajuda] Timer no XNA
Anterior Anterior
 
Próximo Próximo
Nova Entrada 7/8/2009 16:04
Resolvido
  danielmbg
4 tópicos
Sem Ranking


[Ajuda] Timer no XNA 
Bom eu queria fazer um joguinho simples no XNA no estilo do Guitar Hero, e estou tendo um problema. Eu queria fazer o jogo lançar as notas depois de um determinado tempo, exemplo depois de 5, 7, 10, 11 e 14 segundos. Mas não estou conseguindo, se eu uso um timer, igualo ao tempo de jogo em milisegundos, e uso == para comparar o tempo para poder lançar a nota, simplesmente não roda. E se eu uso > ou < depois igualo o Timer a 0, o jogo lançara as notas sempre depois do mesmo tempo. Alguém pode me dizer como faço para lançar as notas depois de um tempo que eu determinar, sendo que esse tempo não tem relação nenhuma? 
 
Nova Entrada 7/8/2009 16:50
  jalf
165 tópicos
Iniciante




Re: [Ajuda] Timer no XNA 
Olá Daniel,

Pelo que entendi, o que você quer é disparar ações no jogo ao longo de uma "linha de tempo" certo?
Acho que você já sabe que no método Update() você sempre recebe o "tempo" do jogo e você pode fazer algo assim para saber o tempo que passou:

timeElapsed += gameTime.ElapsedGameTime.TotalSeconds;

if (timeElapsed >= 10) {  // 10 segundos
   ... faz alguma coisa
   timeElapsed = 0;
}


O problema é que no seu caso seria testados vários "timeElapsed" para cada ação ao longo da sua linha de tempo (faça isso aos 5 segundos...faça isso aos 12 segundos...faça isso aos 14 segundos, etc.).
Nesse caso minha sugestão é que você crie GameComponents que representam os objetos temporizados do seu jogo (as notas?) e defina que eles só vão aparecer (Draw()?) após um certo tempo. Cada um tem sua própria variável timeElapsed e a controla dentro do seu próprio método Update().
Outra alternativa é criar um vetor com todo os tempos que você quer controlar e ir testando cada um deles dentro do Update()...

Microsoft Most Valuable Professional e Administrador do Sharpgames. jalfbr's Gamercard
 
Nova Entrada 13/8/2009 14:25
  danielmbg
4 tópicos
Sem Ranking


Re: [Ajuda] Timer no XNA 
Eu consegui fazer, vlw. Eu fiz quase isso, mas só tive que usar o Timer, só que cada nota tem que ter sua própria variável para se mover e sua própria variável para aparecer na tela e desaparecer na tela. Então eu usei uma variável pra ver se ela irá aparecer, que quando o Timer atinge por exemplo 5 segundos ela aparece, e se você acerta essa nota ela desaparece, e somente quando ela aparecer ela começara a se movimentar. E para verificar a colisão cada nota precisa de seu retângulo pra verifica a colisão.
 
Anterior Anterior
 
Próximo Próximo
  Forum  Criação de Jogo...  Geral  [Ajuda] Timer no XNA
Logos do XBox 360, XNA e Games For Windows
Copyright 2006-2012 por SharpgamesPolítica de Privacidade  |  Termos de Uso