//碰到碰撞体
 private void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.CompareTag("Eagle"))
     {
         if (anim.GetBool("isFalling"))
         {
             ri.velocity = new Vector2(ri.velocity.x, jumpvelocity);
             if (collision.gameObject.CompareTag("Eagle"))
             {
                 eagleMovement eagle = collision.gameObject.GetComponent <eagleMovement>();
                 eagle.fly = true;
             }
         }
         else if (transform.position.x < collision.gameObject.transform.position.x)
         {
             ri.velocity = new Vector2(-10, ri.velocity.y);
             isHurt      = true;
         }
         else if (transform.position.x > collision.gameObject.transform.position.x)
         {
             ri.velocity = new Vector2(10, ri.velocity.y);
             isHurt      = true;
         }
     }
 }
Esempio n. 2
0
 //碰到碰撞体
 private void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.CompareTag("Frog") || collision.gameObject.CompareTag("Dog") || collision.gameObject.CompareTag("Eagle"))
     {
         if (anim.GetBool("isFalling"))
         {
             ri.velocity = new Vector2(ri.velocity.x, jumpvelocity);
             if (collision.gameObject.CompareTag("Frog"))
             {
                 collision.transform.GetComponent <BoxCollider2D>().enabled = false;
                 frogMovement frog = collision.gameObject.GetComponent <frogMovement>();
                 frog.JumpOn();
             }
             if (collision.gameObject.CompareTag("Dog"))
             {
                 collision.transform.GetComponent <CircleCollider2D>().enabled = false;
                 dogmovement dog = collision.gameObject.GetComponent <dogmovement>();
                 dog.JumpOn();
             }
             if (collision.gameObject.CompareTag("Eagle"))
             {
                 eagleMovement eagle = collision.gameObject.GetComponent <eagleMovement>();
                 eagle.fly = true;
             }
         }
         else if (transform.position.x < collision.gameObject.transform.position.x)
         {
             ri.velocity = new Vector2(-10, ri.velocity.y);
             isHurt      = true;
             lifeCount--;
             lifeCount          = Mathf.Clamp(lifeCount, 0, 5);
             lifeCountText.text = Convert.ToString(lifeCount);
             if (lifeCount != 0)
             {
                 AudioManage.instance.PlaySound(AudioManage.instance.playerSound, AudioManage.instance.getHit);
             }
             else
             {
                 CallEndScene();
             }
         }
         else if (transform.position.x > collision.gameObject.transform.position.x)
         {
             ri.velocity = new Vector2(10, ri.velocity.y);
             isHurt      = true;
             lifeCount--;
             lifeCount          = Mathf.Clamp(lifeCount, 0, 5);
             lifeCountText.text = Convert.ToString(lifeCount);
             if (lifeCount != 0)
             {
                 AudioManage.instance.PlaySound(AudioManage.instance.playerSound, AudioManage.instance.getHit);
             }
             else
             {
                 CallEndScene();
             }
         }
     }
 }