Class: BoxCollisionResolver
상자와 상자 또는 상자와 원 사이의 충돌체크 및 충돌깊이와 반작용방향을 연산하는 책임을 맡는다.
Description
Usage
주 객체를 등록하여 충돌체크를 진행한다.
new BoxCollisionResolver(box)
- Extends:
- CollisionResolver
Parameters:
Name | Type | Description |
---|---|---|
box
|
GameObject |
Methods
isCollideWithBox(box) → {boolean}
상자와 상자가 충돌했다면 true를 반환한다.
- Extends:
- CollisionResolver#isCollideWithBox
- Overrides:
- CollisionResolver#isCollideWithBox
Parameters:
Name | Type | Description |
---|---|---|
box
|
GameObject |
이 객체와 충돌인지 확인할 객체 |
Returns:
isCollideWithCircle(circle) → {boolean}
상자와 원이 충돌했다면 true를 반환한다.
- Extends:
- CollisionResolver#isCollideWithCircle
Parameters:
Name | Type | Description |
---|---|---|
circle
|
GameObject |
이 객체와 충돌인지 확인할 객체 |
Returns:
resolveBoxCollision(box) → {Manifold}
상자와 상자가 충돌했을 때 충돌깊이와 반작용방향을 반환한다.
+-------+
+-----+ | |
| x | | x |
+-----+ | |
+-------+
+--+ +---+ <-- 가로 길이의 절반
+----------+ <-- 중심간의 거리
각 상자의 길이의 절반의 합이 중심간의 거리보다 작을 때에만 충돌이다. 이 때 충돌한 깊이는 각 길이의 절반의 합과 중심간의 거리의 차로 구해진다.
- Extends:
- CollisionResolver#resolveBoxCollision
Parameters:
Name | Type | Description |
---|---|---|
box
|
GameObject |
이 객체와 충돌한 다른 객체 |
Returns:
resolveCircleCollision(circle) → {Manifold}
원이 상자와 충돌했을 때 충돌깊이와 반작용방향을 반환한다.
- Extends:
- CollisionResolver#resolveCircleCollision
Parameters:
Name | Type | Description |
---|---|---|
circle
|
GameObject |
이 객체와 충돌한 다른 객체 |
Returns:
isCollideWith(other) → {boolean}
다른 객체의 Collider 타입에 맞춰 충돌 감지 방법을 사용하여 충돌 유무를 반환한다.
- Overrides:
- CollisionResolver#isCollideWith
Parameters:
Name | Type | Description |
---|---|---|
other
|
GameObject |
이 객체와 충돌인지 확인할 객체 |
Returns:
resolveCollision(other) → {Manifold}
객체의 Collider 타입에 맞춰 manifold를 생성해 반환한다.
- Overrides:
- CollisionResolver#resolveCollision
Parameters:
Name | Type | Description |
---|---|---|
other
|
GameObject |
이 객체와 충돌한 다른 객체 |