물리학 힘 적용하기
물리학을 다룰 때, 객체에 중력뿐만 아니라 힘도 적용해야 합니다. 힘은 객체의 속도, 방향 또는 형태에 변화를 일으키는 모든 영향을 의미합니다. GameMaker의 물리학 세계에서는 힘을 중력과 동일하게 정의하며, 두 개의 xforce/yforce 구성 요소에서 벡터를 가져와 정의합니다. 힘은 객체의 질량 중심이 아닌 방의 특정 지점에 적용되며, 다른 힘(예: 중력)에 따라 방향, 속도 및 토크(회전)가 변할 수 있습니다.
힘 적용 예시
아래 이미지는 스프링 객체가 공 객체에 힘을 가해 방향을 바꾸는 예시를 보여줍니다. 힘의 크기는 xpos/ypos에서 xforce/yforce까지의 거리로 계산되며, 이는 뉴턴 단위로 표현됩니다. 방향은 xpos/ypos에서 xforce/yforce까지의 각도로 정의됩니다.
인자 | 타입 | 설명 |
---|---|---|
xpos | 실수 | 힘이 적용될 방의 x 좌표 |
ypos | 실수 | 힘이 적용될 방의 y 좌표 |
xforce | 실수 | 힘 벡터의 x 구성 요소 |
yforce | 실수 | 힘 벡터의 y 구성 요소 |
문법
physics_apply_force(xpos, ypos, xforce, yforce)
반환값
N/A
활용 예제
아래 코드는 충돌 이벤트에서 다른 객체에 30 뉴턴의 힘을 적용하는 예시입니다.
with (other) {
physics_apply_force(x, y, 0, -30);
}
이 코드는 other
객체에 충돌 시 위쪽 방향으로 30 뉴턴의 힘을 적용합니다.
추가 활용 예제
- 물체를 오른쪽으로 밀기
with (other) {
physics_apply_force(x, y, 50, 0);
}
- 물체를 아래로 끌어당기기
with (other) {
physics_apply_force(x, y, 0, 100);
}
- 물체를 대각선으로 밀기
with (other) {
physics_apply_force(x, y, 30, -30);
}
이러한 예제들은 다양한 상황에서 힘을 적용하는 방법을 보여줍니다. 각 예제는 물체의 움직임을 조절하는 데 유용하게 활용될 수 있습니다.