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

» (Resolvido) 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

» (RESOLVIDO) 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


[Duvida]Altura em 3D

4 participantes

Ir para baixo

[Duvida]Altura em 3D Empty [Duvida]Altura em 3D

Mensagem por iFaé Dom 17 Fev 2013, 15:58

Bom, eu estava lendo as apostilas do Rodrigo Santiago e uma duvida, como eu faço um objeto voar e ir para o chão, como mudar a distância do personagem para o chão?
Essa duvida surgiu na engine_medium_all da apostila medio!
Tipo lá o player, fica voando, como eu faço para no meio do jogo escolher se eu quero q voe ou fique no chão e para escolher a altura do vôo?
iFaé
iFaé

Games Ranking : Nota D

Notas recebidas : D - D - D - B
Data de inscrição : 02/02/2011
Reputação : -14
Número de Mensagens : 455
Prêmios : [Duvida]Altura em 3D 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://matheusfaegames.blogspot.com

Ir para o topo Ir para baixo

[Duvida]Altura em 3D Empty Re: [Duvida]Altura em 3D

Mensagem por gabrielsch Dom 17 Fev 2013, 16:56

Você pode fazer isso mudando o eixo Z, para isso o objeto deve ter uma variável que controla esse eixo, na maioria dos casos eu coloco o nome dela apenas como "Z", desse jeito:
Código:
z = 0
Depois disso você deve usar essa variável em um argumento especifico das funções 3D que você está usando.

Feito isso agora vamos para a gravidade, que é o que eu entendi, no eixo Z não temos variáveis que controlam a gravidade ou a direção da mesma como o próprio gravity e o gravity_direction. Sendo assim você terá que criar suas próprias variáveis para fazer o trabalho como por exemplo:
Código:
z_gravity = 0
Essa variável vai controlar a força que vamos aplicar ao eixo Z do objeto que queremos que tenha gravidade, mas ela deve aumentar conforme o objeto fique no ar, para isso no step do mesmo vamos ter que fazer isso:
Código:
if z > 0
{
 z_gravity += 0.1
 z -= z_gravity
}
else
{z_gravity = 0}

Nesse código nós verificamos se o eixo Z está maior que 0 (o nível do chão é claro), se estiver maior ele vai aumentar a força da variável z_gravity e logo depois subtrair do próprio eixo Z fazendo que a cada step o objeto caia mais rápido conforme o valor de z_gravity vai aumentando. Caso o objeto esteja no chão não é necessário ter a gravidade para puxa-lo para baixo então nós definimos ela como 0.

Pode ser que esse código esteja errado porque não testei ele realmente mas a base é essa espero que tenha entendido.

Flw! sorrindo2
gabrielsch
gabrielsch

Games Ranking : Nota A

Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios : [Duvida]Altura em 3D Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

[Duvida]Altura em 3D Empty Re: [Duvida]Altura em 3D

Mensagem por Rodrigo Santiago Dom 17 Fev 2013, 21:08

Olha gabrielsch, eu usei a p3dc, então fica um pouco diferente.
Troque a variavel z(no step) por zmin, pronto ai você usa o código do gabrielshc e troque z > 0 por z>zmin, que é o chão, não esqueça de criar zmin no create.
Rodrigo Santiago
Rodrigo Santiago

Games Ranking : Nota B

Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios : [Duvida]Altura em 3D Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 3 Prata x 1 Bronze x 3

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

Ir para o topo Ir para baixo

[Duvida]Altura em 3D Empty Re: [Duvida]Altura em 3D

Mensagem por un00brn Dom 17 Fev 2013, 22:49

Todas as respostas acima estão corretas... Porém, vou mostrar mais uma forma!

no Create do seu objeto use
Código:

z1 = 0 //Base do objeto
z2 = 32 //Altura do objeto
e na hora que você for "Desenhar" o D3D no Draw, use
Código:

d3d_draw_block(x-16,y-16,z1,x+16,y+16,z2,textura,1,1)
no Step, limitamos ele até o chao
Código:

if z1 <= obj_chao.z1 z1 = obj_chao.z1
if z2 <= obj_chao.z1+32 z2 = obj_chao.z1+32
OBS :: Você deve criar o obj_chao para ser o solo, e deve informar ao create, qual será o valor de altura do chao. Exemplo
Código:

z1 = 0
Agora, o seu objeto já está configurado para a gravidade.
Mas, para fazer subir em alguma função...
aqui está o code
Código:

z1 += 5
z2 += 5
Isso fará seu objeto subir. e para descer, use
Código:

z1 -= 5
z2 -= 5

Espero ter entendido ! Valeu


Última edição por un00brn em Dom 17 Fev 2013, 22:51, editado 1 vez(es) (Motivo da edição : Corrigir code)
un00brn
un00brn

Data de inscrição : 18/06/2012
Reputação : 7
Número de Mensagens : 119
Prêmios : [Duvida]Altura em 3D 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Java
  • Web Tecnology
  • Javascript


http://www.djurielrn.blogspot.com

Ir para o topo Ir para baixo

[Duvida]Altura em 3D Empty Re: [Duvida]Altura em 3D

Mensagem por Rodrigo Santiago Seg 18 Fev 2013, 05:10

Foi bom sua intensao, mas isso atrapalha pois o chao da engine nao e reto! E cheio de subidas e decidas alem de voce esta usando colisao 2d para 3d, que na apostila foi avisado para nunca usar isso no chao.
A colisao e verificada com a p3dc, no modelo e nao com sprites. Alem e claro de nao ser usado no draw variaveis dentro do desenho e sim com transformacoes de translacao e rotacao, o que atrapalharia tambem.
Rodrigo Santiago
Rodrigo Santiago

Games Ranking : Nota B

Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios : [Duvida]Altura em 3D Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 3 Prata x 1 Bronze x 3

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

Ir para o topo Ir para baixo

[Duvida]Altura em 3D Empty Re: [Duvida]Altura em 3D

Mensagem por un00brn Seg 18 Fev 2013, 10:29

é, se no chao existe subidas e descidas...

Eu mostrei a minha ideia por que pensava que seria algo simples xD
Até eu agora fiquei interessado por essa engine!
un00brn
un00brn

Data de inscrição : 18/06/2012
Reputação : 7
Número de Mensagens : 119
Prêmios : [Duvida]Altura em 3D 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Java
  • Web Tecnology
  • Javascript


http://www.djurielrn.blogspot.com

Ir para o topo Ir para baixo

[Duvida]Altura em 3D Empty Re: [Duvida]Altura em 3D

Mensagem por iFaé Seg 18 Fev 2013, 13:07

E se eu quiser controlar a altura, tipo Shift sobe/Ctrl desce?
iFaé
iFaé

Games Ranking : Nota D

Notas recebidas : D - D - D - B
Data de inscrição : 02/02/2011
Reputação : -14
Número de Mensagens : 455
Prêmios : [Duvida]Altura em 3D 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://matheusfaegames.blogspot.com

Ir para o topo Ir para baixo

[Duvida]Altura em 3D Empty Re: [Duvida]Altura em 3D

Mensagem por Rodrigo Santiago Seg 18 Fev 2013, 13:16

Ué!? coloca z+=1 ou z-=1 (ou qualquer outro numero) no evento
A , so uma nota, o z do crobat é no chao, o desenho e que e feito alto, vai la no draw e desenha algo com o primeira coordenada xyz com z sendo 0
Rodrigo Santiago
Rodrigo Santiago

Games Ranking : Nota B

Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios : [Duvida]Altura em 3D Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 3 Prata x 1 Bronze x 3

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

Ir para o topo Ir para baixo

[Duvida]Altura em 3D Empty Re: [Duvida]Altura em 3D

Mensagem por iFaé Seg 18 Fev 2013, 14:05

Eu ja tentei isso, mas qndo eu solto um dos dois (shift/ctrl), ele volta para o ponto q ele estava! eu to usando:

Código:
 keyboard_check(vk_shift)

e essa historia do crobat, onde eu ponho o z como 0?
iFaé
iFaé

Games Ranking : Nota D

Notas recebidas : D - D - D - B
Data de inscrição : 02/02/2011
Reputação : -14
Número de Mensagens : 455
Prêmios : [Duvida]Altura em 3D 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://matheusfaegames.blogspot.com

Ir para o topo Ir para baixo

[Duvida]Altura em 3D Empty Re: [Duvida]Altura em 3D

Mensagem por Rodrigo Santiago Seg 18 Fev 2013, 15:03

Ai meu deus... olha, vc por acaso colocou um else z=0 ou if! key... ou usou no_key, qualquer coisa, que levasse z=0 ou z=zmin.

Z=0 e so no draw, nao e tipo, pra vc digitar z=0 , e so la onde tem pra desenhar o biboard(ou billboard) nos argumentos do draw wall, colocar 0 na hora de definir o primeiro z e o segundo subtrai peo valor do primeiro.
ex:
-5,0,5 ,5,0,12 voce colocar -5,0,0, 5,0,7

Mas pelo que me parece, vc nao e muito bom em script, acho melhor vc estudar mais um pouqinho
Rodrigo Santiago
Rodrigo Santiago

Games Ranking : Nota B

Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios : [Duvida]Altura em 3D Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 3 Prata x 1 Bronze x 3

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

Ir para o topo Ir para baixo

[Duvida]Altura em 3D Empty Re: [Duvida]Altura em 3D

Mensagem por iFaé Seg 18 Fev 2013, 15:12

Eu botei no step:

Código:
if keyboard_check (vk_shift)
{
 z_gravity += 1
 z += z_gravity
}
if keyboard_check(vk_control)
{
z_gravity -=1
z += z_gravity
}

É pra botar isso no Draw?
iFaé
iFaé

Games Ranking : Nota D

Notas recebidas : D - D - D - B
Data de inscrição : 02/02/2011
Reputação : -14
Número de Mensagens : 455
Prêmios : [Duvida]Altura em 3D 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://matheusfaegames.blogspot.com

Ir para o topo Ir para baixo

[Duvida]Altura em 3D Empty Re: [Duvida]Altura em 3D

Mensagem por Rodrigo Santiago Seg 18 Fev 2013, 15:44

Aaaa...agora da pra saber, voce mudou a variavel z no script da p3dc para zmin(no step)?
(esquece o negocio do draw, percebi q ja ta certo)
Rodrigo Santiago
Rodrigo Santiago

Games Ranking : Nota B

Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios : [Duvida]Altura em 3D Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 3 Prata x 1 Bronze x 3

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

Ir para o topo Ir para baixo

[Duvida]Altura em 3D Empty Re: [Duvida]Altura em 3D

Mensagem por gabrielsch Seg 18 Fev 2013, 16:34

iFaé escreveu:Eu botei no step:

Código:
if keyboard_check (vk_shift)
{
 z_gravity += 1
 z += z_gravity
}
if keyboard_check(vk_control)
{
z_gravity -=1
z += z_gravity
}

É pra botar isso no Draw?

No seu caso, não é necessário tudo isso. no step caso o Z esteja acima do chão ele aplica a força da gravidade, você não precisa fazer algo que já está sendo feito, o certo seria assim:

Código:
if keyboard_check (vk_shift)
{z_gravity += 1}
if keyboard_check(vk_control)
{z_gravity -=1}

Flw! sorrindo2
gabrielsch
gabrielsch

Games Ranking : Nota A

Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios : [Duvida]Altura em 3D Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

[Duvida]Altura em 3D Empty Re: [Duvida]Altura em 3D

Mensagem por iFaé Seg 18 Fev 2013, 19:34

Não está funcionando!
Aqui, fiz upload da engine pra vcs tentarem e verem onde eu estou errando, se puderem:

http://www.4shared.com/rar/zfyOBxLe/Engine_3D.html
iFaé
iFaé

Games Ranking : Nota D

Notas recebidas : D - D - D - B
Data de inscrição : 02/02/2011
Reputação : -14
Número de Mensagens : 455
Prêmios : [Duvida]Altura em 3D 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://matheusfaegames.blogspot.com

Ir para o topo Ir para baixo

[Duvida]Altura em 3D Empty Re: [Duvida]Altura em 3D

Mensagem por Rodrigo Santiago Ter 19 Fev 2013, 07:22

Vai lá no step do crobat, troca a variavel z por zmin no step, e dá um valor pra ela lá no create(so pra declarar). Pronto, o z está livre pra você usar, e lembre-se zmin vai ser o valor do chao.
Rodrigo Santiago
Rodrigo Santiago

Games Ranking : Nota B

Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios : [Duvida]Altura em 3D Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 3 Prata x 1 Bronze x 3

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

Ir para o topo Ir para baixo

[Duvida]Altura em 3D Empty Re: [Duvida]Altura em 3D

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


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