물리 엔진의 선형 감쇠 (phy_linear_damping)
phy_linear_damping
변수는 인스턴스의 선형 감쇠를 설정하거나 현재 선형 감쇠 값을 가져오는 데 사용됩니다. 감쇠는 물리 엔진이 활성화된 인스턴스가 앞으로 이동할 때의 "저항" 정도를 나타냅니다. 감쇠 값이 낮을수록 인스턴스는 더 빠르게 이동하고 가속할 수 있으며, 감쇠 값이 높을수록 더 강한 힘이 필요합니다.
문법
phy_linear_damping;
반환값
- 단일 정밀도 부동 소수점 값
- 인스턴스가 물리 엔진이 활성화되지 않은 경우
undefined
예제
다음 코드는 호출하는 인스턴스와 "obj_Water" 인스턴스 간의 충돌을 확인하고, 그에 따라 선형 감쇠 값을 변경합니다.
if (place_meeting(phy_position_x, phy_position_y, obj_Water)){
phy_linear_damping = 10;
} else {
phy_linear_damping = 3;
}
활용 예제
1. 물체의 속도 조절
물체가 물속에 있을 때와 물 밖에 있을 때의 속도를 다르게 설정할 수 있습니다.
if (place_meeting(phy_position_x, phy_position_y, obj_Water)){
phy_linear_damping = 5; // 물속에서의 감쇠
} else {
phy_linear_damping = 1; // 공기 중에서의 감쇠
}
2. 게임 내 캐릭터의 움직임
캐릭터가 특정 지역에 들어갔을 때 감쇠 값을 조정하여 더 느리게 움직이도록 할 수 있습니다.
if (place_meeting(phy_position_x, phy_position_y, obj_SlowZone)){
phy_linear_damping = 15; // 느린 지역
} else {
phy_linear_damping = 2; // 일반 지역
}
3. 장애물과의 상호작용
장애물에 부딪혔을 때 감쇠 값을 증가시켜 반응을 조절할 수 있습니다.
if (place_meeting(phy_position_x, phy_position_y, obj_Obstacle)){
phy_linear_damping = 20; // 장애물에 부딪혔을 때
} else {
phy_linear_damping = 5; // 일반 상태
}
4. 게임 레벨에 따른 감쇠 조정
레벨이 올라갈수록 감쇠 값을 조정하여 난이도를 조절할 수 있습니다.
if (level > 5){
phy_linear_damping = 10; // 높은 레벨에서의 감쇠
} else {
phy_linear_damping = 3; // 낮은 레벨에서의 감쇠
}
변수 | 설명 |
---|---|
phy_linear_damping |
인스턴스의 선형 감쇠 값을 설정하거나 가져오는 변수 |
place_meeting |
두 인스턴스 간의 충돌 여부를 확인하는 함수 |
phy_position_x |
인스턴스의 X 좌표 |
phy_position_y |
인스턴스의 Y 좌표 |
obj_Water |
물 객체 |
obj_SlowZone |
느린 지역 객체 |
obj_Obstacle |
장애물 객체 |
level |
현재 게임 레벨 |