Entrar
Últimos assuntos
» player não consegue andarpor 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
Página 1 de 1
[Duvida]Altura em 3D
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?
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?
Re: [Duvida]Altura em 3D
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:
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:
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!
- Código:
z = 0
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
- 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!
gabrielsch- Games Ranking :
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 1 x 0 x 0
Re: [Duvida]Altura em 3D
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.
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- Games Ranking :
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios :
x 0 x 0 x 0
x 3 x 1 x 3
x 0 x 0 x 0
Re: [Duvida]Altura em 3D
Todas as respostas acima estão corretas... Porém, vou mostrar mais uma forma!
no Create do seu objeto use
Mas, para fazer subir em alguma função...
aqui está o code
Espero ter entendido ! Valeu
no Create do seu objeto use
- Código:
z1 = 0 //Base do objeto
z2 = 32 //Altura do objeto
- Código:
d3d_draw_block(x-16,y-16,z1,x+16,y+16,z2,textura,1,1)
- Código:
if z1 <= obj_chao.z1 z1 = obj_chao.z1
if z2 <= obj_chao.z1+32 z2 = obj_chao.z1+32
- Código:
z1 = 0
Mas, para fazer subir em alguma função...
aqui está o code
- Código:
z1 += 5
z2 += 5
- 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)
Re: [Duvida]Altura em 3D
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.
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- Games Ranking :
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios :
x 0 x 0 x 0
x 3 x 1 x 3
x 0 x 0 x 0
Re: [Duvida]Altura em 3D
é, 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!
Eu mostrei a minha ideia por que pensava que seria algo simples xD
Até eu agora fiquei interessado por essa engine!
Re: [Duvida]Altura em 3D
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
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- Games Ranking :
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios :
x 0 x 0 x 0
x 3 x 1 x 3
x 0 x 0 x 0
Re: [Duvida]Altura em 3D
Eu ja tentei isso, mas qndo eu solto um dos dois (shift/ctrl), ele volta para o ponto q ele estava! eu to usando:
e essa historia do crobat, onde eu ponho o z como 0?
- Código:
keyboard_check(vk_shift)
e essa historia do crobat, onde eu ponho o z como 0?
Re: [Duvida]Altura em 3D
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
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- Games Ranking :
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios :
x 0 x 0 x 0
x 3 x 1 x 3
x 0 x 0 x 0
Re: [Duvida]Altura em 3D
Eu botei no step:
É pra botar isso no Draw?
- 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?
Re: [Duvida]Altura em 3D
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)
(esquece o negocio do draw, percebi q ja ta certo)
Rodrigo Santiago- Games Ranking :
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios :
x 0 x 0 x 0
x 3 x 1 x 3
x 0 x 0 x 0
Re: [Duvida]Altura em 3D
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!
gabrielsch- Games Ranking :
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 1 x 0 x 0
Re: [Duvida]Altura em 3D
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
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
Re: [Duvida]Altura em 3D
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- Games Ranking :
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios :
x 0 x 0 x 0
x 3 x 1 x 3
x 0 x 0 x 0
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos