Erro em movimentação em 3D

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

Erro em movimentação em 3D

Mensagem por Witen em Seg 28 Maio 2012, 22:11

Bom, era pra quando clicar no chão movimentar o player. Sim! isso ocorreu, só que em vez de clica no chão da room e o player se mover para aquele lugar, o player vai em outra direção =/ estou usando esse codigo:

Código:
if moving = 1
        switch(dir){
       
            case 1:
               
z2 = sin(plus)

if speed > 1
speed = 1
            break;
             
            case 2:
               
z2 = sin(plus)

if speed > 1
speed = 1
            break;
           
            case 3:
               
z2 = sin(plus)

if speed > 1
speed = 1
            break;
           
            case 4:
               
z2 = sin(plus)

if speed > 1
speed = 1

            break;


            }
else
        switch(dir){
   
            case 1:
               
z2 = sin(plus)

if speed > 1
speed = 1
            break;
   
            case 2:
               
z2 = sin(plus)

if speed > 1
speed = 1
            break;
           
            case 3:
               
z2 = sin(plus)

if speed > 1
speed = 1
            break;
           
            case 4:
               
z2 = sin(plus) //For animation and updown movement in running

if speed > 1 //Max speed
speed = 1
            break;

            }

Witen

Ranking : Sem avaliações
Número de Mensagens : 515
Idade : 17
Data de inscrição : 23/05/2012
Reputação : 36
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Re: Erro em movimentação em 3D

Mensagem por GameMakerTutoriais em Ter 29 Maio 2012, 12:55

Amigo, o player se moveu com a distância certa porém em outra direção? Como você está definindo essa direção? Poste mais informações pra gente tentar te ajudar.

Eu não entendi muito bem esse código que você postou, porque ao meu ver, isso poderia ser reduzido pra:

Código:

if (dir > 0) && (dir < 5) && (frac(dir) == 0)
{
      z2 = sin(plus);
      if speed > 1 speed = 1;
}

Todas as condições no switch estão iguais. Dê uma conferida, porque talvez tenha postado errado na hora de colar o código.

Abraços!!

GameMakerTutoriais

Número de Mensagens : 800
Data de inscrição : 29/01/2011
Reputação : 26
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Erro em movimentação em 3D

Mensagem por Witen em Ter 29 Maio 2012, 17:50

Olha esse codigo define o tamanho do chão:

Código:
d3d_draw_floor(0,0,-0.5,100,100,-0.5,background_get_texture(tx_grass),640/32,480/32)

então para ir no lugar a outro dentro da room a aria de clique fica x100 y100 se clicar fora das dimensões 100,100 o personagem se desloca para fora do piso =/

esse código que você falou e apenas a questão da rotação do objeto player, as cases são iguais a encima, embaixo, direita, esquerda , caso o objeto esteja parado (o comando esta depois do alse) o objeto fica inanimado isso tudo esta certo. Eu posso te passar o jogo para você ver o problema melhor.

Witen

Ranking : Sem avaliações
Número de Mensagens : 515
Idade : 17
Data de inscrição : 23/05/2012
Reputação : 36
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Re: Erro em movimentação em 3D

Mensagem por Conteúdo patrocinado Hoje à(s) 21:52


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