Duvida Visual basic function sleep

Jonny22

Membro
Estou programando um jogo de memoria em basic com niveis, nivel 1, 2 e 3, a idea era aparecer no formulario do nivel 1 com as imagens, depois por cima dessas imagens outras com pontos de exclamação, quando o utilizador caregar no ponto de exclamação mostra a imagem que esta atras, a duvida e a seguinte quando o form do nivel 1 executa queria que aparece as imagens primeiro por cinco segundos para decorar , depois escondia e aparecia os pontos de interrogação, pensei em utilizar a função sleep :
Código:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwmillseconds As Long)
sleep(5000)

...so que quando executo mostra o form todo branco durante os 5 segundos, portanto não faz o que eu quero...

queria uma ajuda com essa função ou com outra que faça o que eu pretendo..
 
Última edição pelo moderador:
Código:
Private Sub Form_Load()
      mostrarimagens
      Timer1.Interval = 5000
      Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
      esconder imagens
      Timer1.Enabled = False
End Sub
 
Faz como o PJTuga disse - com um Timer - mas é algo como
Código:
Função do clique da carta 
  Mostra a carta
  Timer1.Interval = 5000
  Timer1.Enabled = True
Fim da função

Função Timer1_Interval
  Esconde as cartas
  Timer1.Enabled = False
Fim da função

(acho que está compreensível; n tenho o VB neste momento)
 
O melhor é colocares o Timer1.Enabled = False logo no inicio do Timer1.Interval . Se o processo de esconder as cartas for lento pode voltar a fazer-se. O melhor é mesmo parar e depois executar o que for necessário.
 
Back
Topo