Limitação de área 2d unity SOCORRO (com meu script)
Página 1 de 1
Limitação de área 2d unity SOCORRO (com meu script)
Salve man, então... eu estou fazendo um jogo muito simples , pois, estou aprendendo a usar o unity e estou me divertindo muito, porem, estou com
dificuldade de fazer uma coisa, preciso limitar o espaço que o meu personagem pode ir "ele é uma barra e só se move pros lados" eu limitei para ele
não sair da tela usando:
transform.position = new Vector2(Mathf.Clamp(transform.position.x, xMinimo, xMaximo), transform.position.y);
mas, criei uma forma dele girar no eixo z e queria limitar pra ele nao sair do eixo x e y quando estiver virado só que quando ele gira e eu vou andar ele vai pra cima ou pra baixo sendo que eu preciso que ele só se mova pros lados (me desculpa se isso parece confuso)
por questão de contexto vou postar todo os script do personagem "paddle" aqui para poderem dizer aonde estou errando, dês de já agradeço!!
dificuldade de fazer uma coisa, preciso limitar o espaço que o meu personagem pode ir "ele é uma barra e só se move pros lados" eu limitei para ele
não sair da tela usando:
transform.position = new Vector2(Mathf.Clamp(transform.position.x, xMinimo, xMaximo), transform.position.y);
mas, criei uma forma dele girar no eixo z e queria limitar pra ele nao sair do eixo x e y quando estiver virado só que quando ele gira e eu vou andar ele vai pra cima ou pra baixo sendo que eu preciso que ele só se mova pros lados (me desculpa se isso parece confuso)
por questão de contexto vou postar todo os script do personagem "paddle" aqui para poderem dizer aonde estou errando, dês de já agradeço!!
- Código:
System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Paddle : MonoBehaviour
{
public float velocidadeDoPaddle;
public float xMinimo, xMaximo;
public float yMaximo, yMinimo;
public float velocidadeParaVirar;
Quaternion voltar;
public float speed = 300;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
float direction = Input.GetAxisRaw("Virar");
transform.Rotate((Vector3.forward * speed * Time.deltaTime) * direction);
MovimentoDoPaddle();
VirarPaddle();
}
private void MovimentoDoPaddle()
{
transform.position = new Vector2(Mathf.Clamp(transform.position.x, xMinimo, xMaximo), transform.position.y);
if (Input.GetAxisRaw("Horizontal") > 0.01f)
{
transform.Translate(Vector2.right * velocidadeDoPaddle * Time.deltaTime);
}
if(Input.GetAxisRaw("Horizontal") < -0.01f)
{
transform.Translate(Vector2.left * velocidadeDoPaddle * Time.deltaTime);
}
}
private void VirarPaddle()
{
transform.position = new Vector3(Mathf.Clamp(transform.position.x, yMinimo, yMaximo), transform.position.x);
}
}
pedrodj321- Iniciante
- PONTOS : 1395
REPUTAÇÃO : 0
Respeito as regras :
Tópicos semelhantes
» Tento iniciar o unity mas a area de criação não carrega .
» Unity Terrain - Como deixar uma área plana?
» PEGADAS DO PLAYER QUE APARECEM APÓS ANDAR SOBRE UMA ÁREA "ÚMIDA". UNITY 2D
» Script faz a função tudo certo na unity, já quando gero apk o script não faz a função
» Limitação do FPS
» Unity Terrain - Como deixar uma área plana?
» PEGADAS DO PLAYER QUE APARECEM APÓS ANDAR SOBRE UMA ÁREA "ÚMIDA". UNITY 2D
» Script faz a função tudo certo na unity, já quando gero apk o script não faz a função
» Limitação do FPS
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos