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; } } }
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); } } }