키 해제 확인 설명서
이 문서는 키가 해제되었을 때를 확인하는 방법을 다룹니다. 해당 동작은 키가 해제된 단일 게임 스텝(프레임)에서 `true`를 반환하고, 그 외의 시간에는 `false`를 반환합니다. `not` 수정자를 활성화하면 이 동작은 반대로 작동하여, 키가 해제된 스텝에서 `false`를 반환하고 다른 시간에는 `true`를 반환하게 됩니다.
또한, "if" 블록에 동작을 추가할 때는 해당 동작을 블록의 측면에 떨어뜨려야 합니다. 아래 그림과 같이 되며, "if"가 `true`일 경우 이러한 동작들이 실행됩니다. 반면, 다른 곳에 떨어진 동작은 "if" 블록 이후에 수행됩니다.
## 동작 문법
### 인수:
|인수|설명|
|---|---|
|Key|확인할 키의 이름|
|Not|체크를 반전시킴 (true가 false로, 반대로)|
### 예제:
아래 예제는 키보드 상태를 매 스텝마다 검사하여, 키가 눌리고 있을 경우 첫 키 다운 프레스를 확인합니다. 첫 다운 프레스에서 체크가 `true`인 경우에는 소리가 재생되고, 키가 눌리고 있는 동안 스프라이트의 혼합 색상이 빨간색으로 변경됩니다. 만약 키가 눌리지 않으면, 키 해제를 확인하여 혼합 색상을 흰색으로 리셋합니다.
```gml
if (keyboard_check("YOUR_KEY_NAME")) { // 입력할 키명
// 첫 키가 눌렸을 때
if (keyboard_check_pressed("YOUR_KEY_NAME")) {
audio_play_sound(sound_id, 1, false); // 소리 재생
sprite_blend = c_red; // 스프라이트 색상 변경
}
} else {
// 키가 해제된 경우 색상을 흰색으로 리셋
if (keyboard_check_released("YOUR_KEY_NAME")) {
sprite_blend = c_white;
}
}
활용 및 응용 예제
- 게임 캐릭터 점프 기능
- 키가 눌렸을 때 캐릭터가 뛰도록 설정할 수 있습니다.
gml if (keyboard_check("space")) { if (keyboard_check_pressed("space")) { hspeed = 0; // 수평 속도 초기화 vspeed = -10; // 점프의 수직 속도 설정 } }
- UI 버튼 클릭 비슷한 효과
- 마우스 버튼이 눌리면 UI 버튼을 클릭한 것처럼 반응하게 할 수 있습니다.
gml if (mouse_check_button_released(mb_left)) { if (point_in_rectangle(mouse_x, mouse_y, button_x, button_y, button_x + button_width, button_y + button_height)) { // 버튼 클릭 효과 실행 button_pressed = true; } }
이 문서는 키 해제 확인에 대한 간단한 설명과 다양한 활용 예제들을 포함하고 있습니다. 이를 통해 게임 제작 시 키 입력을 효과적으로 관리하고 사용자 인터페이스를 개선하는 데 도움이 되길 바랍니다. ```