Movimento de água [tutorial]

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Qualidade Movimento de água [tutorial]

Mensagem por Thiago_o_programador em Qua 27 Jun 2012, 11:01

Nome: Movimento de Água 3D
Nível de dificuldade: mediano
Requerimentos: Game Maker 8 - Pro (Testado no 8, mas possa ser que funcione no 7)

Câmera

Bem pessoal, vamos começar criando um objeto que vamos chamar de 'obj_cam'. (Que além da câmera vai ser nosso personagem)

Adicione no CREATE o código:

Código:
d3d_start()
d3d_set_perspective(true)
d3d_set_hidden(false)
d3d_set_culling(false)
texture_set_interpolation(true)
draw_set_color(c_black)
d3d_set_fog(true,c_black,1000,2500)
Ele entra no modo 3D além de ajustar as configurações desejadas (Não vou me aprofundar muito nesse código, mais se desejarem entender mais sobre essas funções clique aqui.)

Código:
instance_create(x,y,obj_agua)
angle=0
xto=0
yto=0
zto=0
friction=0.4
Esse código vai garantir que o obj_agua (que será criado depois) seja criado dentro do obj_cam. Também determina o ponto de vista da câmera (xto, yto e zto) além do angulo (angle) e da ficção absoluta.

No STEP adicione:

Código:
if keyboard_check(vk_left) {angle+=4}
if keyboard_check(vk_right) {angle-=4}
Define o giro através das teclas de navegação.

Código:
xto=x+cos(angle*pi/180)
yto=y-sin(angle*pi/180)
zto=10
Determina o movimento através do valor da variavel angle.

No evento DRAW coloque:

Código:
d3d_set_projection(x,y,10,xto,yto,zto,0,0,1)
Ele vai estar projetando os valores adquiridos anteriormente com uma pequena altura a mais. (10z)

Água

Agora vamos criar um objeto e chama-lo de obj_agua.
No CREATE vamos adicionar:

Código:
move=0;
move2=0;
Esses vão ser os dois movimentos da água.

No STEP adicione:

Código:
move-=.8;
if move<0 then move=512-1;

move2-=.2;
if move2<0 then move2=512-.1;
Os movimentos em si.

No DRAW coloque:
Código:
draw_set_alpha(.6);
Deixa a água um pouco transparente.

Código:
d3d_draw_floor(-256*8,-256*8+move,0,256*8,256*8+move,0,background_get_texture(bac_agua),16,16);
d3d_draw_floor(-256*8,-256*8-move2,0,256*8,256*8-move2,-1,background_get_texture(bac_agua),16,16);
draw_set_color(c_white);
Desenha a água em si, e reseta a cor de desenho como branco.

Adicione um background com essa textura de 256x256 e nomeio de bac_agua:


Conclusão: Não é o objeto que si move, sim a textura.

Para encerrar...

Para ver se funcionou, crie uma room e adicione o obj_cam, seria interessante colocar uma cor preta no fundo.

Quem não conseguiu montar a engine, aqui está o trabalho pronto.

Bem pessoal é isso, espero que tenham gostado, até a próxima!

Thiago_o_programador

Ranking : Nota D
Número de Mensagens : 709
Idade : 19
Data de inscrição : 14/05/2009
Notas recebidas : D - C - D - C
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://www.jogosdahora.maisblog.net

Voltar ao Topo Ir em baixo

Qualidade Re: Movimento de água [tutorial]

Mensagem por GamerGM em Qua 27 Jun 2012, 22:04

Bom não vou tentar,mas pelo jeito deve ser muito legal.

Você explica seus tutos muito bem parabéns viu

GamerGM

Número de Mensagens : 17
Idade : 17
Data de inscrição : 23/06/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Tutorial Aprovado

Mensagem por TRFN em Qua 27 Jun 2012, 23:20

Wow , que efeito bacana.
Gostei do modo que voce explicou objetivamente o que queria ensinar.
Simples , funcional , atraente e explicativo.
Aprovado.

___________



TRFN

Ranking : Nota C
Número de Mensagens : 970
Idade : 21
Data de inscrição : 16/01/2012
Notas recebidas : C
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 2

http://trfnsite.com

Voltar ao Topo Ir em baixo

Qualidade Re: Movimento de água [tutorial]

Mensagem por lolkack em Qui 28 Jun 2012, 09:28


___________________________________________
ERROR in
action number 1
of Create Event
for object obj_cam:

Error in code at line 1:
d3d_start()
^
at position 1: This function is not available in the Lite Edition.


deu erro

lolkack

Número de Mensagens : 25
Data de inscrição : 27/06/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://game-maker-br.blogspot.com.br

Voltar ao Topo Ir em baixo

Qualidade Re: Movimento de água [tutorial]

Mensagem por Thiago_o_programador em Qui 28 Jun 2012, 09:48

Valeu pessoal, é muito bom poder contribuir com o pessoal! ;)

lolkack essas funções d3d funcionam apenas na versão PRO.

Thiago_o_programador

Ranking : Nota D
Número de Mensagens : 709
Idade : 19
Data de inscrição : 14/05/2009
Notas recebidas : D - C - D - C
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://www.jogosdahora.maisblog.net

Voltar ao Topo Ir em baixo

Qualidade Re: Movimento de água [tutorial]

Mensagem por lolkack em Qui 28 Jun 2012, 20:16

wlv entendi vo baixar o pro

lolkack

Número de Mensagens : 25
Data de inscrição : 27/06/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://game-maker-br.blogspot.com.br

Voltar ao Topo Ir em baixo

Qualidade Re: Movimento de água [tutorial]

Mensagem por Conteúdo patrocinado Hoje à(s) 07:34


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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