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
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Movimento de água [tutorial]

4 participantes

Ir para baixo

Movimento de água [tutorial] Empty Movimento de água [tutorial]

Mensagem por Thiago_o_programador 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:
Movimento de água [tutorial] Tex

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
Thiago_o_programador

Games Ranking : Nota D

Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Reputação : 7
Número de Mensagens : 713
Prêmios : Movimento de água [tutorial] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 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

Movimento de água [tutorial] Empty Re: Movimento de água [tutorial]

Mensagem por GamerGM 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
GamerGM

Data de inscrição : 23/06/2012
Reputação : 1
Número de Mensagens : 17
Prêmios : Movimento de água [tutorial] 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

Movimento de água [tutorial] Empty Tutorial Aprovado

Mensagem por TRFN 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
TRFN

Games Ranking : Nota C

Notas recebidas : C + C + C
Data de inscrição : 16/01/2012
Reputação : 70
Número de Mensagens : 1192
Prêmios : Movimento de água [tutorial] Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 2

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Web Tecnology
  • Javascript
  • Outros


https://site13.com.br/

Ir para o topo Ir para baixo

Movimento de água [tutorial] Empty Re: Movimento de água [tutorial]

Mensagem por lolkack 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
lolkack

Data de inscrição : 27/06/2012
Reputação : 1
Número de Mensagens : 25
Prêmios : Movimento de água [tutorial] 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

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

Ir para o topo Ir para baixo

Movimento de água [tutorial] Empty Re: Movimento de água [tutorial]

Mensagem por Thiago_o_programador 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
Thiago_o_programador

Games Ranking : Nota D

Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Reputação : 7
Número de Mensagens : 713
Prêmios : Movimento de água [tutorial] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 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

Movimento de água [tutorial] Empty Re: Movimento de água [tutorial]

Mensagem por lolkack Qui 28 Jun 2012, 20:16

wlv entendi vo baixar o pro
lolkack
lolkack

Data de inscrição : 27/06/2012
Reputação : 1
Número de Mensagens : 25
Prêmios : Movimento de água [tutorial] 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

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

Ir para o topo Ir para baixo

Movimento de água [tutorial] Empty Re: Movimento de água [tutorial]

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