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
» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» 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

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


[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 : 117
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://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 : 117
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://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

- Tópicos semelhantes

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