물리 피처의 다각형 형태 설정
physics_fixture_set_polygon_shape
함수는 피처에 다각형 형태를 설정하는 기능을 제공합니다. 하지만 이 다각형의 형태를 정의하기 위해서는 physics_fixture_add_point
함수를 사용해야 합니다. 피처가 인스턴스에 바인딩될 때 다각형은 닫힌 형태가 됩니다. 이 함수를 호출하기 전에 반드시 점을 정의해야 하며, 다각형을 인스턴스에 바인딩하기 위해서는 최소한 세 개의 점이 정의되어 있어야 합니다. 그렇지 않으면 오류가 발생합니다.
문법
physics_fixture_set_polygon_shape(fixture)
인수
인수 | 유형 | 설명 |
---|---|---|
fixture | Physics Fixture ID | 피처의 인덱스 |
반환값
N/A
예제
physics_fixture_set_polygon_shape(fix_Ship);
physics_fixture_add_point(fix_Ship, 0, 0);
physics_fixture_add_point(fix_Ship, -40, 100);
physics_fixture_add_point(fix_Ship, 40, 100);
위 코드는 "fix_Ship" 변수에 인덱스된 피처에 다각형 형태를 적용하고, 삼각형 형태를 만들기 위해 세 개의 점을 정의합니다.
활용 예제
예제 1: 사각형 형태 설정
physics_fixture_set_polygon_shape(fix_Rectangle);
physics_fixture_add_point(fix_Rectangle, 0, 0);
physics_fixture_add_point(fix_Rectangle, 100, 0);
physics_fixture_add_point(fix_Rectangle, 100, 100);
physics_fixture_add_point(fix_Rectangle, 0, 100);
이 코드는 사각형 형태를 설정합니다.
예제 2: 다각형 형태 설정
physics_fixture_set_polygon_shape(fix_Polygon);
physics_fixture_add_point(fix_Polygon, 0, 0);
physics_fixture_add_point(fix_Polygon, -50, 50);
physics_fixture_add_point(fix_Polygon, -30, 100);
physics_fixture_add_point(fix_Polygon, 30, 100);
physics_fixture_add_point(fix_Polygon, 50, 50);
이 코드는 비정형 다각형 형태를 설정합니다.
예제 3: 원형 형태 설정 (근사)
physics_fixture_set_polygon_shape(fix_Circle);
for (var i = 0; i < 360; i += 10) {
var x = cos(degtorad(i)) * 50;
var y = sin(degtorad(i)) * 50;
physics_fixture_add_point(fix_Circle, x, y);
}
이 코드는 원형 형태를 근사하여 설정합니다.
이와 같이 physics_fixture_set_polygon_shape
함수와 physics_fixture_add_point
함수를 활용하여 다양한 형태의 물리 피처를 설정할 수 있습니다.