[RESOLVIDO] Movimentar o jogador em 4 direções
4 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Movimentar o jogador em 4 direções
Como faço para o jogador apenas poder se movimentar em 4 direções?
Tentei fazer isso.
Mas se eu estiver apertando a tecla para direita e junto apertar para cima ele sobe, mas se eu estiver apertando a tecla para cima e junto apertar para direta ela continua subindo, então se eu apertar para descer ou subir enquanto aperto as teclas horizontais ele muda o movimento, mas o mesmo não acontece se eu estiver apertando as teclas verticais e depois as horizontais
Tentei fazer isso.
- Código:
if (Input.GetAxisRaw("Vertical") > 0)
transform.Translate(Vector2.up * speed * Time.deltaTime);
else if (Input.GetAxisRaw("Vertical") < 0)
transform.Translate(Vector2.down * speed * Time.deltaTime);
else if (Input.GetAxisRaw("Horizontal") > 0)
transform.Translate(Vector2.right * speed * Time.deltaTime);
else if (Input.GetAxisRaw("Horizontal") < 0)
transform.Translate(Vector2.left * speed * Time.deltaTime);
Mas se eu estiver apertando a tecla para direita e junto apertar para cima ele sobe, mas se eu estiver apertando a tecla para cima e junto apertar para direta ela continua subindo, então se eu apertar para descer ou subir enquanto aperto as teclas horizontais ele muda o movimento, mas o mesmo não acontece se eu estiver apertando as teclas verticais e depois as horizontais
Priste_Hell- Avançado
- PONTOS : 2976
REPUTAÇÃO : 17
Idade : 23
Áreas de atuação : Programador e roteirista.
Respeito as regras :
Re: [RESOLVIDO] Movimentar o jogador em 4 direções
Não utilize transform.Translate para movimento, isto não funciona bem com colisão.
Onde rb é um:
Não se esqueça de adicionar o Rigidbody.
- Código:
rb.velocity = new Vector3(Input.GetAxisRaw("Horizontal"), rb.velocity.y, Input.GetAxisRaw("Vertical") * Time.deltaTime * speed);
Onde rb é um:
- Código:
public Rigidbody rb;
Não se esqueça de adicionar o Rigidbody.
NKKF- ProgramadorMaster
- PONTOS : 4818
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: [RESOLVIDO] Movimentar o jogador em 4 direções
Onde exatamente devo adicionar essa linha de codigo? Coloquei dentro do Update e na vertical não funcionava além de estar muito lerdoNKKF escreveu:Não utilize transform.Translate para movimento, isto não funciona bem com colisão.
- Código:
rb.velocity = new Vector3(Input.GetAxisRaw("Horizontal"), rb.velocity.y, Input.GetAxisRaw("Vertical") * Time.deltaTime * speed);
Onde rb é um:
- Código:
public Rigidbody rb;
Não se esqueça de adicionar o Rigidbody.
Priste_Hell- Avançado
- PONTOS : 2976
REPUTAÇÃO : 17
Idade : 23
Áreas de atuação : Programador e roteirista.
Respeito as regras :
Re: [RESOLVIDO] Movimentar o jogador em 4 direções
Talvez ajude também:
https://unity3d.com/pt/learn/tutorials/projects/2d-ufo-tutorial/controlling-player
Abraço!
https://unity3d.com/pt/learn/tutorials/projects/2d-ufo-tutorial/controlling-player
Abraço!
Re: [RESOLVIDO] Movimentar o jogador em 4 direções
Ops, era só adicionar mais valores, é só adaptar amigo. >_OPriste_Hell escreveu:Onde exatamente devo adicionar essa linha de codigo? Coloquei dentro do Update e na vertical não funcionava além de estar muito lerdoNKKF escreveu:Não utilize transform.Translate para movimento, isto não funciona bem com colisão.
- Código:
rb.velocity = new Vector3(Input.GetAxisRaw("Horizontal"), rb.velocity.y, Input.GetAxisRaw("Vertical") * Time.deltaTime * speed);
Onde rb é um:
- Código:
public Rigidbody rb;
Não se esqueça de adicionar o Rigidbody.
NKKF- ProgramadorMaster
- PONTOS : 4818
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: [RESOLVIDO] Movimentar o jogador em 4 direções
Tópico resolvidoObs: Em caso de engano, me contate via PM para retirar o resolvido Este tópico está impedido de receber novos posts. Movido para "Tópicos resolvidos". |
Tópicos semelhantes
» [RESOLVIDO] Como movimentar um objeto de um lado para o outro
» [RESOLVIDO] Como Fasso Para O HingeJoint Virar em Duas Direçoes?
» [RESOLVIDO] Nome do jogador Online
» [RESOLVIDO]Personagem com Rigidbody travando na parede ao movimentar
» [RESOLVIDO] Movimentar personagem por grade com clique do mouse. (Isométrico)
» [RESOLVIDO] Como Fasso Para O HingeJoint Virar em Duas Direçoes?
» [RESOLVIDO] Nome do jogador Online
» [RESOLVIDO]Personagem com Rigidbody travando na parede ao movimentar
» [RESOLVIDO] Movimentar personagem por grade com clique do mouse. (Isométrico)
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos