doesnt detect collision ?
im trying to make a character jump, so to make that i was taught in college to detect a collision with the floor, which is in another layer (character is in layer 8, and the platforms are in layer 9) here's the whole thing, sorry for the spanish, here are some translations saltar= jump velocidad=velocity fuerzasalto= jumping force puedosaltar= icanjump mover=move
public float velocidad;
public SpriteRenderer renderizador;
public float fuerzaSalto;
public Rigidbody2D rb;
public bool puedoSaltar;
// Use this for initialization
void Start ()
{
renderizador = GetComponent<SpriteRenderer>();
rb = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
Mover();
Saltar();
}
public void Saltar()
{
if (Input.GetKeyDown(KeyCode.Space) && puedoSaltar == true)
{
rb.velocity = Vector3.zero;
rb.AddForce(Vector3.up * fuerzaSalto, ForceMode2D.Impulse);
puedoSaltar = false;
}
}
public void OnCollisionEnter2D(Collision2D info)
{
if (info.gameObject.layer == 9)
{
puedoSaltar = true;
}
}
public void Mover ()
{
if (Input.GetKey(KeyCode.RightArrow))
{
transform.position += Vector3.right * velocidad * Time.deltaTime;
renderizador.flipX = true;
}
if (Input.GetKey(KeyCode.LeftArrow))
{
transform.position += Vector3.left * velocidad * Time.deltaTime;
renderizador.flipX = false;
}
}
}
thanks to everyone who took the time to read through this!
Answer by Davinder_Singh · Jun 13, 2017 at 04:51 AM
I really don't know why you are using layers for detecting collisions because I have never used.
You can use "tag" to detect collision between two GameObjects.
Like this:
void OnCollisionEnter2D(Collision2D info)
{
if(info.gameObject.CompareTag("MyTag")
{
puedoSaltar=true;
}
}
You can also check whether the control is coming in your OnCollisionEnter2D function using Debug.Log ;)
Your answer
Follow this Question
Related Questions
Collision with 2D shader via Shader material 0 Answers
Prevent "useless" character movements 0 Answers
How to check if player is stuck inside of ground 0 Answers
Horrible Collison 2D -- 1 Answer
Prevent Player from Rotating Into Wall 0 Answers