GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Ontem à(s) 18:28

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16


[Tutorial] Janelas Dinâmicas IV

3 participantes

Ir para baixo

[Tutorial] Janelas Dinâmicas IV Empty [Tutorial] Janelas Dinâmicas IV

Mensagem por Fuzenrad Qua 22 Set 2010, 21:49

Janelas Dinâmicas 4
Movendo Janelas e alguns efeitos

Finalmente a parte 4 desse tutorial. Consegui atingir um resultado muito bom, todos bem aplicáveis.

Obs: Para não estender muito essa parte do tutorial, eu vou pular uma parte da criação das janelas, pode ser visto no Tutorial 2 (Janelas com botões), o funcionamento é o mesmo.

Os resultado final foi esse:

[Tutorial] Janelas Dinâmicas IV Resultado

Janela móvel

É um recurso muito legal, não só para janelas, mas para objetos em geral do jogo, dependendo do estilo, entretando mover um objeto não é apenas atribuir x=mouse_y e y=mouse_y no evento Left Button, isso faz com que o objeto "salte" para a posição do mouse, deve ser evitado.

Para mover de forma correta, é preciso criar um variável com a posição "relativa" do objeto ao mouse, onde a diferença das posições é que será adicionada ao objeto quando este for clicado, dessa forma, seja qual for a área do objeto que você clicar, ele move considerando-o como ponto de origem.

Só explicando, posição relativa é a diferença entre a posição do objeto e a posição a qual comparamos, no caso x - mouse_x e y - mouse_y:

Código:
x_relativo=x-mouse_x
y_relativo=y-mouse_y
Atribuimos isso ao evento Step, para que seja uma variável atualizada.

Agora em um evento do mouse, por exemplo Left Buttom:

Código:
x=x_relativo+mouse_x
y=y_relativo+mouse_y
Para mover vários objetos ao mesmo tempo, temos que usar a função with, que controla outros objetos:

Código:
with instance_nearest(x,y,botao1) {
x=other.x-80
y=other.y+75 }
Com o objeto botao1 mais próximo, mova-o, ao mesmo tempo que o botão é corretamente posicionado na janela (repetindo o código com os demais botões).

Efeito Fade In/Out

É um efeito simples, mas bem usual, para aplicá-lo, basta controlarmos a variável image_alpha e atribuí-la a todos os objetos envolvidos ao objeto.

No evento Create indicamos:

Código:
image_alpha=-0.5
apaga=0
A variável image_alpha inicia em -0.5 para que tenha uma diferença entre a criação e o surgimento dela na tela, bem mínima, milisegundos. E iniciamos a variável apaga, que usaremos mais adiante.

Do mesmo modo que fizemos no exemplo anterior, controlando objetos com o with, mas desta vez com o image_alpha:

Código:
if image_alpha<1.5 and !apaga{
image_alpha+=0.05
with instance_nearest(x,y,botao1) image_alpha=other.image_alpha}

if image_alpha>0 and apaga{
image_alpha-=0.05
with instance_nearest(x,y,botao1) image_alpha=other.image_alpha}
Quando a variável apaga for true (ou 1) e image_single for maior que zero ou quando apaga for false (ou 0) e image_single for menor que 1.5, a janela desaparecerá e aparecerá respectivamente.

No evento Left Released do objeto botao1, adicionamos:

Código:
jan_movel.apaga=1
Para indicar que ao ser pressionado a janela desapareça.

Surgindo da esquerda

Faz a janela surgir da esquerda e pára na posição que ela foi criada.

Seu funcionamento é igualmente semelhante ao fade, mas variando a posição x do objeto, no evento Create deve indicar qual era a posição inicial, guardando-a em uma variável para então mové-la para uma posição não visível na janela:

Código:
x_antigo=x
move=1
x=room_width+150
Lembrando que room_width é a largura da room e 150 é aproximadamente a metade da largura do objeto, assim o objeto salta para uma posição fora da janela, para então se mover.

Para finalmente mover a janela, no evento Step usamos:

Código:
if x>x_antigo and move=1
x-=10 else move=0

if x<=x_antigo and move=1
x=x_antigo
Isso indica que enquanto a posição atual do objeto não for menor ou igual a posição inicial do objeto (associada à x_antigo) será subtraído 10 pixels a cada frame.

Baixe aqui a engine deste tutorial (zip - 89kb)
________________________________
Veja também:

- Parte 1 - Janelas com informações
- Parte 2 - Janelas com botões
- Parte 3 - Janelas com entrada de dados


Última edição por Fuzenrad em Qui 21 Out 2010, 20:55, editado 2 vez(es)
Fuzenrad
Fuzenrad

Games Ranking : Nota A

Notas recebidas : A-A-A-A-B
Data de inscrição : 04/07/2010
Reputação : 46
Número de Mensagens : 1063
Prêmios : [Tutorial] Janelas Dinâmicas IV Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Tutorial] Janelas Dinâmicas IV Empty Re: [Tutorial] Janelas Dinâmicas IV

Mensagem por .:Allison:. Qua 22 Set 2010, 22:17

Muito bom, adorei, adoro todos os seus tutoriais, são muito bem explicados!

Faz uma FanBar, que eu quero usar!
.:Allison:.
.:Allison:.

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 25/07/2010
Reputação : 4
Número de Mensagens : 630
Prêmios : [Tutorial] Janelas Dinâmicas IV Empty

Medalhas x 0 Tutoriais x 14 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://clubmaker.forumeiros.com

Ir para o topo Ir para baixo

[Tutorial] Janelas Dinâmicas IV Empty Re: [Tutorial] Janelas Dinâmicas IV

Mensagem por Fuzenrad Qui 23 Set 2010, 15:04

Acabei esquecendo de anexar as engine:
- Movendo Janelas
- Fade in/out
- Surgindo da esquerda

jan_movel.zip (89kb) - Link direto
Fuzenrad
Fuzenrad

Games Ranking : Nota A

Notas recebidas : A-A-A-A-B
Data de inscrição : 04/07/2010
Reputação : 46
Número de Mensagens : 1063
Prêmios : [Tutorial] Janelas Dinâmicas IV Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Tutorial] Janelas Dinâmicas IV Empty Re: [Tutorial] Janelas Dinâmicas IV

Mensagem por Mr. Kaleb Qui 23 Set 2010, 15:34

Muito bom Funzerad como sempre colaborando muito para com o forum, está muito bem explicado como todos os outros, vai ajudar muita gente inclusive eu que estou criando um rpg e esbarrei justamente nesta parte, vou colocar você nos créditos
Mr. Kaleb
Mr. Kaleb

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 07/09/2010
Reputação : 21
Número de Mensagens : 1400
Prêmios : [Tutorial] Janelas Dinâmicas IV Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Tutorial] Janelas Dinâmicas IV Empty Re: [Tutorial] Janelas Dinâmicas IV

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

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