There is bug if I use input and collision at the same time,bug after collission
Hi guys, I am working for it too long and I decided to ask here. Here is the problem. I am making a 2d game with auto movement player. Player goes one direction and if I press 'A' key it changes its direction and go for other direction. There is colliders at two side of the screen with colliders. If I hit them, my player changes its direction also. But I figure that if I press the 'A' key at the same time with collision time, there is a glitch and It dont changes its direction. It basically stucks. Here is my code below:
public void Movement()
{
if (m_Rigidbody.velocity.x >= 0 && Input.GetKeyDown(KeyCode.A) && !anim.GetBool("isDeath"))
{
m_Rigidbody.velocity = direction * transform.right * m_Speed;
transform.localRotation = Quaternion.Euler(0,0,0);
if(transform.localRotation ==Quaternion.Euler(0,0,0)){
deneme = false;
}
direction*=-1;
//transform.eulerAngles = new Vector3(0f, 180f, 0f);
}
else if(m_Rigidbody.velocity.x <= 0 && Input.GetKeyDown(KeyCode.A) && !anim.GetBool("isDeath"))
{
m_Rigidbody.velocity = transform.right * m_Speed;
transform.localRotation = Quaternion.Euler(0,180,0);
if(transform.localRotation ==Quaternion.Euler(0,180,0)){
deneme = true;
}
direction*=-1;
//transform.eulerAngles = new Vector3(0f, 0f, 0f);
}
}
void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.tag == "tree" )
{
FindObjectOfType<AudioManager>().Play("Move");
transform.localRotation = Quaternion.Euler(0,180,0);
m_Rigidbody.velocity = direction*transform.right * m_Speed;
direction*=-1;
deneme = true;
//transform.eulerAngles = new Vector3(0f, 180f, 0f);
}
if (collision.gameObject.tag == "tree1" )
{
FindObjectOfType<AudioManager>().Play("Move");
transform.localRotation = Quaternion.Euler(0,0,0);
m_Rigidbody.velocity = direction*transform.right * m_Speed;
direction*=-1;
deneme = false;
,
Comment
Your answer

Follow this Question
Related Questions
My UNITY is not loading 0 Answers
Plane and Terrain Bug? 0 Answers
Character glitches at end of timeline 1 Answer
Game view visual glitch, duplicating all objects in the scene 2 Answers