phy_angular_velocity
phy_angular_velocity
변수는 인스턴스의 각속도를 설정하거나 현재 각속도를 가져오는 데 사용됩니다. 각속도는 초당 도(degrees per second)로 측정되며, 값은 시계 방향 회전을 위해 양수, 반시계 방향 회전을 위해 음수로 설정할 수 있습니다. 만약 이 변수를 밀도(density)가 0인 정적 인스턴스에 설정하면, 해당 인스턴스는 운동학적 객체(kinematic object)로 변환되어 회전을 시작합니다.
문법
phy_angular_velocity;
반환값
- 단일 정밀도 부동 소수점 값 (instance가 물리학이 활성화되지 않은 경우는 undefined)
예제
if (abs(phy_angular_velocity) > 0) {
phy_angular_velocity -= sign(phy_angular_velocity) * 0.01;
} else {
phy_angular_velocity = 0;
}
위 코드는 인스턴스의 각속도를 확인하고, 만약 0이 아닐 경우 매 스텝마다 작은 값을 더하거나 빼서 최종적으로 0이 되도록 합니다.
활용 예제
예제 번호 | 설명 |
---|---|
1 | 인스턴스의 각속도를 설정하여 회전하는 물체 만들기 |
2 | 각속도를 점진적으로 감소시켜 물체가 서서히 멈추게 하기 |
3 | 특정 조건에서 각속도를 반전시켜 물체의 회전 방향 변경하기 |
4 | 게임에서 회전하는 장애물 구현하기 |
5 | 물체가 충돌할 때 각속도를 조정하여 반응하는 효과 만들기 |
추가 코드 스니펫
- 인스턴스의 각속도를 설정하는 예제:
phy_angular_velocity = 5; // 시계 방향으로 초당 5도 회전
- 각속도를 반전시키는 예제:
phy_angular_velocity = -phy_angular_velocity; // 현재 각속도의 방향을 반전
- 특정 조건에서 각속도를 증가시키는 예제:
if (key_check(vk_right)) {
phy_angular_velocity += 0.1; // 오른쪽 키를 누르면 각속도 증가
}
- 물체가 충돌할 때 각속도를 조정하는 예제:
if (collision) {
phy_angular_velocity += 2; // 충돌 시 각속도 증가
}
- 각속도가 특정 값 이하로 떨어지면 멈추게 하는 예제:
if (abs(phy_angular_velocity) < 0.1) {
phy_angular_velocity = 0; // 각속도가 0.1 이하일 경우 멈춤
}