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
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
» Ainda temos gente aqui?
Criando jogos em VB.NET - GameLoop EmptyQui 25 Nov 2021, 14:04 por Halt

» [Dúvida] Como tirar a porcentagem de esquiva
Criando jogos em VB.NET - GameLoop EmptySex 19 Nov 2021, 17:14 por Halt

» Pokémon Genesis Online! (PGO)
Criando jogos em VB.NET - GameLoop EmptyQua 05 Jul 2017, 18:08 por Lexar

» Tileset Converter to MV
Criando jogos em VB.NET - GameLoop EmptySex 12 maio 2017, 14:07 por Douggi

» Pack Resources, Sprites e etc
Criando jogos em VB.NET - GameLoop EmptyQua 23 Dez 2015, 12:30 por raydengv

» Download RPG Maker 2003 + RTP em português
Criando jogos em VB.NET - GameLoop EmptyTer 22 Dez 2015, 11:14 por ::KimMax::

» Fantasy Art Online
Criando jogos em VB.NET - GameLoop EmptyDom 18 Out 2015, 18:42 por daviih123

» Você vai ter medo do Nerve gear?
Criando jogos em VB.NET - GameLoop EmptySáb 25 Jul 2015, 17:02 por Kirito-kun

» O Barato é louco
Criando jogos em VB.NET - GameLoop EmptySáb 27 Jun 2015, 16:26 por Halt

» Download RPG Maker 2000 + RTP em português
Criando jogos em VB.NET - GameLoop EmptyQui 21 maio 2015, 20:28 por Wismael


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

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

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

Halt

Halt
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.

Criando jogos em VB.NET - GameLoop Gamerunning

Embaixo do último DesenharImagem, adicione a seguinte sub:

Criando jogos em VB.NET - GameLoop Gameloop

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

Criando jogos em VB.NET - GameLoop Formloadgm

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.

Criando jogos em VB.NET - GameLoop Gameloopdraw

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.

Criando jogos em VB.NET - GameLoop Geren

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).

Criando jogos em VB.NET - GameLoop Sleepwh

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

Criando jogos em VB.NET - GameLoop Geren2

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:

Criando jogos em VB.NET - GameLoop Breakloop

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.

Projeto Aula

https://arenarpgmaker.forumeiros.com

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

Permissões neste sub-fórum
Não podes responder a tópicos