Example #1
0
    void OnCollisionStay2D(Collision2D collision)
    {
        collideFromTop    = false;
        collideFromLeft   = false;
        collideFromRight  = false;
        collideFromBottom = false;
        //print("collided");
        int contactCount = collision.GetContactCount();

        for (int i = 0; i < contactCount; i++)
        {
            var side = collision.GetContactSide(i);
            if (side == Collision2DSideType.Bottom && up.GetComponent <DetectBoxCollider>().collided)
            {
                collideFromTop = true;
            }
            if (side == Collision2DSideType.Top && down.GetComponent <DetectBoxCollider>().collided)
            {
                collideFromBottom = true;
            }
            if (side == Collision2DSideType.Right && left.GetComponent <DetectBoxCollider>().collided)
            {
                collideFromLeft = true;
            }
            if (side == Collision2DSideType.Left && right.GetComponent <DetectBoxCollider>().collided)
            {
                collideFromRight = true;
            }
        }
        if (collideFromBottom)
        {
            jumptimer  = 0;
            velocity.y = 0;
        }
    }
 void OnCollisionEnter2D(Collision2D col)
 {
     if (col.gameObject.name == "Player")
     {
         Collision2DSideType collisionSide = col.GetContactSide();
         if (collisionSide == Collision2DSideType.Right)
         {
             Destroy(skeletonSpriteRenderer.gameObject.GetComponent <BoxCollider2D>());
             skeletonSpriteRenderer.gameObject.GetComponent <SpriteRenderer>().sortingOrder = -1;
             isMoving = false;
             Vector3 pos = skeletonSpriteRenderer.transform.position;
             pos.x -= 0.35f;
             skeletonSpriteRenderer.transform.position = pos;
         }
     }
 }
Example #3
0
 void OnCollisionEnter2D(Collision2D col)
 {
     if (col.gameObject.name == "Player")
     {
         Collision2DSideType collisionSide = col.GetContactSide();
         if (collisionSide == Collision2DSideType.Top)
         {
             Destroy(skeletonSpriteRenderer.gameObject.GetComponent <BoxCollider2D>());
             skeletonSpriteRenderer.gameObject.GetComponent <SpriteRenderer>().sortingOrder = -1;
             isMoving = false;
             skeletonSpriteRenderer.flipY = true;
             Vector3 pos = skeletonSpriteRenderer.transform.position;
             pos.y -= 0.35f;
             skeletonSpriteRenderer.transform.position = pos;
             skeletonSpriteRenderer.transform.rotation = Quaternion.Euler(skeletonSpriteRenderer.transform.rotation.eulerAngles.x, skeletonSpriteRenderer.transform.rotation.eulerAngles.y, skeletonSpriteRenderer.transform.rotation.z + 9f);
         }
     }
 }
    void OnCollisionEnter2D(Collision2D col)
    {
        if (col.gameObject.layer == 8)
        {
            setJumpFalse();
        }
        if (col.gameObject.layer == 9)
        {
            life = 0;
            playerDead();
        }
        if (col.gameObject.layer == 10)
        {
            life = 0;
            playerDead();
        }
        if (col.gameObject.layer == 11)
        {
            life = 0;
            playerDead();
        }
        if (col.gameObject.name == "Skeleton")
        {
            Collision2DSideType collisionSide = col.GetContactSide();
            if (collisionSide == Collision2DSideType.Right || collisionSide == Collision2DSideType.Left)
            {
                life = 0;
                playerDead();
            }
            else
            {
                setJumpFalse();
                this.countSkeleton += 1;
            }
        }
        if (col.gameObject.name == "SkeletonVertical")
        {
            Collision2DSideType collisionSide = col.GetContactSide();
            if (collisionSide == Collision2DSideType.Bottom)
            {
                life = 0;
                playerDead();
            }
        }

        if (!SceneManager.GetActiveScene().name.Equals("Fase001_01") && monster != null && monster.gameObject != null)
        {
            if (!isInitScene)
            {
                if (countSkeleton < totalSkeleton)
                {
                    monster.gameObject.SetActive(false);
                }
                else
                {
                    monster.gameObject.SetActive(true);
                }
            }
            else
            {
                monster.gameObject.SetActive(true);
            }
        }
    }