물리 엔진 밀도 설정
이 문서는 GameMaker Studio의 물리 엔진에서 밀도 값을 설정하는 방법에 대해 설명합니다. 물리 엔진에서 밀도는 객체의 물리적 특성을 정의하는 중요한 요소입니다.
함수 설명
physics_set_density
함수는 바인딩된 피xture의 밀도 값을 설정하는 데 사용됩니다. 이 함수는 physics_fixture_bind
를 사용하여 인스턴스에 피xture를 바인딩할 때 반환된 "id"를 사용합니다.
문법
physics_set_density(fixture, density)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
fixture | Physics Fixture ID | 바인딩된 피xture의 ID |
density | Real | 적용할 새로운 밀도 값 |
반환값
- N/A
예제
다음 코드는 바인딩된 물리 속성의 현재 밀도 값을 가져온 후, 이를 다른 값으로 설정하는 예제입니다.
var density = physics_get_density(fix_id);
physics_set_density(fix_id, density - 0.1);
활용 예제
- 밀도 감소: 객체가 점점 가벼워지는 효과를 주고 싶을 때 사용할 수 있습니다.
gml var current_density = physics_get_density(fix_id); physics_set_density(fix_id, current_density - 0.5);
- 밀도 증가: 객체가 무거워지는 효과를 주고 싶을 때 사용할 수 있습니다.
gml var current_density = physics_get_density(fix_id); physics_set_density(fix_id, current_density + 0.5);
- 조건부 밀도 설정: 특정 조건에 따라 밀도를 조정할 수 있습니다.
gml if (some_condition) { physics_set_density(fix_id, 2.0); } else { physics_set_density(fix_id, 1.0); }
- 게임 이벤트에 따른 밀도 조정: 게임 내 이벤트에 따라 밀도를 조정할 수 있습니다.
gml if (event_type == "power_up") { physics_set_density(fix_id, 0.5); } else if (event_type == "power_down") { physics_set_density(fix_id, 1.5); }
이와 같은 방법으로 physics_set_density
함수를 활용하여 게임 내 물리적 상호작용을 다양하게 조정할 수 있습니다.