Como manipular o deslizamento do Player?
2 participantes
Página 1 de 1
Como manipular o deslizamento do Player?
Bom dia boa tarde boa noite, espero que todos vocês estejam bem.
Eu recentemente pensei em criar um fangame de Undertale e a primeira coisa que fui fazer é a movimentação do coração. Usei o Rigidbody2D manipulando o velocity e eu percebi que ele dá um deslizamento, mas eu quero que quando o coração para ele não deslize. Ou também eu poderia usar em algum jogo de plataforma onde se o Player estivesse andando em um gelo esse deslizamento aumentava.
Vocês sabem o que eu posso modificar para manipular 0 deslizamento?
Estou no aguardo de suas respostas.
Eu recentemente pensei em criar um fangame de Undertale e a primeira coisa que fui fazer é a movimentação do coração. Usei o Rigidbody2D manipulando o velocity e eu percebi que ele dá um deslizamento, mas eu quero que quando o coração para ele não deslize. Ou também eu poderia usar em algum jogo de plataforma onde se o Player estivesse andando em um gelo esse deslizamento aumentava.
Vocês sabem o que eu posso modificar para manipular 0 deslizamento?
Estou no aguardo de suas respostas.
Neyuriki- Iniciante
- PONTOS : 1436
REPUTAÇÃO : 1
Respeito as regras :
Re: Como manipular o deslizamento do Player?
Você pode atribuir 0 ao velocity se não tiver input no teclado, assim que o jogador soltar a tecla, o coração para.
Agora pra aumentar a velocidade dependendo do local eu usaria um colisor marcado como trigger, dessa forma enquanto o coração estivesse dentro dessa zona, a velocidade recebia um valor maior
Agora pra aumentar a velocidade dependendo do local eu usaria um colisor marcado como trigger, dessa forma enquanto o coração estivesse dentro dessa zona, a velocidade recebia um valor maior
- Código:
using UnityEngine;
public class Heart : MonoBehaviour
{
Rigidbody2D rb;
public float fatorDeslizamento = 1;
private void Start()
{
rb = GetComponent<Rigidbody2D>();
}
private void Update()
{
Vector2 velocidade = Vector2.zero; //começa com 0, se não houver input pra se movimentar, continua 0;
if (Input.GetAxis("Vertical")!=0 || Input.GetAxis("Horizontal") != 0)
{
Vector2 vel = Vector2.zero;
vel.y += Input.GetAxis("Vertical");
vel.x += Input.GetAxis("Horizontal");
vel = vel.normalized;
velocidade = vel * fatorDeslizamento;
}
rb.velocity = velocidade;
}
private void OnTriggerStay2D(Collider2D collision)
{
if (collision.CompareTag("gelo"))
{
fatorDeslizamento = 2;
}
}
private void OnTriggerExit2D(Collider2D collision)
{
if (collision.CompareTag("gelo"))
{
fatorDeslizamento = 1;
}
}
}
Última edição por Fagner em Qui Dez 31, 2020 12:16 am, editado 1 vez(es)
Fagner- Moderador
- PONTOS : 4443
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: Como manipular o deslizamento do Player?
Valeu amigo, já vai dar pra eu ter um pouco de noção.Fagner escreveu:Você pode atribuir 0 ao velocity se não tiver input no teclado, assim que o jogar soltar a tecla o coração para.
Agora pra aumentar a velocidade dependendo do local eu usaria um colisor marcado como trigger, dessa forma enquanto o coração estivesse dentro dessa zona, a velocidade recebia um valor maior
- Código:
using UnityEngine;
public class Heart : MonoBehaviour
{
Rigidbody2D rb;
public float fatorDeslizamento = 1;
private void Start()
{
rb = GetComponent<Rigidbody2D>();
}
private void Update()
{
Vector2 velocidade = Vector2.zero; //começa com 0, se não houver input pra se movimentar, continua 0;
if (Input.GetAxis("Vertical")!=0 || Input.GetAxis("Horizontal") != 0)
{
Vector2 vel = Vector2.zero;
vel.y += Input.GetAxis("Vertical");
vel.x += Input.GetAxis("Horizontal");
vel = vel.normalized;
velocidade = vel * fatorDeslizamento;
}
rb.velocity = velocidade;
}
private void OnTriggerStay2D(Collider2D collision)
{
if (collision.CompareTag("gelo"))
{
fatorDeslizamento = 2;
}
}
private void OnTriggerExit2D(Collider2D collision)
{
if (collision.CompareTag("gelo"))
{
fatorDeslizamento = 1;
}
}
}
Neyuriki- Iniciante
- PONTOS : 1436
REPUTAÇÃO : 1
Respeito as regras :
Tópicos semelhantes
» Como desbugar o Player
» Animações do Player. Como faço????
» Como que faço para rotacionar um objeto na posição do player como o cenario
» Player não segue a plataforma [Como resolver???]
» como da um empurrao em um player
» Animações do Player. Como faço????
» Como que faço para rotacionar um objeto na posição do player como o cenario
» Player não segue a plataforma [Como resolver???]
» como da um empurrao em um player
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos