Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker

Estamos de volta o/ ... Ou não.Eu amo a -Dark
Doações para o fórum abertas, clique aqui e saiba mais.
Últimos assuntos
» Pokémon Genesis Online! (PGO)
Qua 05 Jul 2017, 17:08 por Lexar

» Tileset Converter to MV
Sex 12 Maio 2017, 13:07 por Douggi

» [Dúvida] Como tirar a porcentagem de esquiva
Ter 09 Maio 2017, 22:15 por Neil Flame Runner

» Pack Resources, Sprites e etc
Qua 23 Dez 2015, 09:30 por raydengv

» Download RPG Maker 2003 + RTP em português
Ter 22 Dez 2015, 08:14 por ::KimMax::

» Fantasy Art Online
Dom 18 Out 2015, 16:42 por daviih123

» Você vai ter medo do Nerve gear?
Sab 25 Jul 2015, 16:02 por Kirito-kun

» O Barato é louco
Sab 27 Jun 2015, 15:26 por Halt

» Download RPG Maker 2000 + RTP em português
Qui 21 Maio 2015, 19:28 por Wismael

» Divulgando meu grupo e página do Facebook
Ter 19 Maio 2015, 13:06 por Halt


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1Tutorial Criando jogos em VB.NET - GameLoop em Ter 25 Dez 2012, 15:21

Halt

avatar
Administrador
Administrador
Nadaila escreveu:Nossas imagens são desenhadas na Form, por nossa vontade. Isso só acontece quando realizamo um evento, um pressionamento de qualquer tecla.

Adicione uma variável GameRunning do tipo boelana. Ela indicará se nosso jogo está vivo ou não.



Embaixo do último DesenharImagem, adicione a seguinte sub:



While GameRunning 'enquanto GameRunning for verdadeira, repita
'Desenhar Imagens
Application.DoEvents ' Faça com eventos

A DoEvents serve para processar os eventos pendentes do sistema. Sem isso, cada vez que o GameLoop é executado o programa é travado até que ele termine todo o loop. Quando terminado ele voltaria a responder aos eventos normalmente.

Alterando o Form_Load



Quando o programa terminar de carregar as imagens, mudará a variável GameRunning para True, mostrará o form e irá inciar o GameLoop.

Me.Show
Isso é para ter certeza de que o Form será mostrado.

Vamos ao evento KeyDown e recorte a parte de desenho dessa sub e cole aqui no meio.



Quando a variável GameRunning for falsa, a sub GameLoop perderá o ciclo e irá diretamente para abaixo fechando o jogo.

g.Dispose
Application.Exit

Agora dê um Play e veja ... Sim, o Form inteiro fica piscando, só vou explicar isso na próxima aula.

Abra o gerenciador de tarefas e olhe o processo do aplicativo.



O aplicativo usa 50% da CPU, um jogo tão pequenino e simples não precisa usar tudo isso de processamento.

Embaixo de DoEvents, vamos adicionar um Sleep(20).



Isso fará com que o programa durma, por 20 milésimos de segundos. Esses milésimos pode parecer pouco mas não é. Observe agora a foto abaixo



Sim isso ajuda muito. Mas minha form ainda não pára de piscar, a animação do fogo corre que nem o satanas, por que?
R : ...

Putz.. quase esqueci, volte ao evento KeyDown e adicione:



Quando a tecla Esc(Escape) for pressionada muda o GameRunning para False finalizando o aplicativo. Este é o modo correto de se quebrar o GameLoop, caso você feche pelo X do form, ele irá apenas sumir visivelmente e ficará ainda preso na memória.

[Você precisa estar registrado e conectado para ver este link.]


__________________________________________
[Você precisa estar registrado e conectado para ver este link.]
Ei Convidado, sim você mesmo! Ajude o fórum à crescer postando coisas úteis, dê sugestões para melhorar-mos e divulgue o fórum.

Step inside, see the devil in I.

Gifts-
[Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.]

Zerei a internet
Ver perfil do usuário http://arenarpgmaker.eclipserpg.com

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum