Health 상태 확인 액션 해설
이 문서는 `Health` 인스턴스 변수를 특정 표현식에 따라 확인하는 액션에 대해 설명합니다. 사용자는 검사할 표현식의 유형과 현재 `health`와 비교할 값을 지정합니다. "if" 문은 사용된 표현식과 값에 따라 항상 `true` 또는 `false`를 반환합니다.
## 사용 가능한 표현식 목록
|표현식 유형|설명|
|---|---|
|Equals to|변수와 값이 정확히 같음|
|Less than|변수가 값보다 작음|
|Greater than|변수가 값보다 큼|
|Less than or Equal to|변수가 값보다 작거나 같음|
|Greater than or Equal to|변수가 값보다 크거나 같음|
## 'Not' 인자 사용하기
'Not' 인자를 사용하면 위의 표현식들이 반전됩니다. 예를 들어 "equals to"는 "not equals to"로 변환되어, `health` 값이 주어진 값과 같지 않은지를 확인하게 됩니다.
## 부동소수점 정밀도 문제
부동소수점 정밀도 문제로 인해 두 값이 정확히 같음을 확인하는 것이 `false`를 반환할 수 있습니다. 예를 들어 하나는 1이고 다른 하나는 1.00000000000001일 수 있습니다. 이를 피하기 위해 `Decimal to Integer` 액션을 사용한 후 비교하거나 "greater than" 또는 "less than" 표현식을 사용할 수 있습니다.
## 'if' 블록에 액션 추가하기
"if" 블록에 액션을 추가하려면, 해당 액션을 옆으로 드래그하여 놓아야 합니다. 아래 이미지를 참조하세요.
이 액션들은 "if" 문이 `true`로 평가될 때 실행되며, 다른 곳에 놓인 액션들은 "if" 블록 실행 이후에 수행됩니다.
## 액션 구문 및 인자 설명
### 액션 구문
```gml
if (health > 100) {
health = 100;
}
인자 설명
| 인자 | 설명 |
|---|---|
| Not | 표현식이 true로 평가되지 않는지 확인 |
| Expression | 검사에 사용할 표현식 유형 |
| Value | health를 대조할 값 |
활용 예제
- 체력 증가 후 한계 초과 방지
gml health += 25; if (health > 100) { health = 100; }
위 코드 블록은 health 변수를 25만큼 증가시키고, 100을 초과하면 100으로 설정합니다.
- 체력 감소 및 경고 메시지 표시
gml health -= 50; if (health < 20) { show_message("경고: 체력이 낮습니다!"); }
이 코드는 health 변수를 50만큼 감소시키고, 체력이 20 미만일 경우 경고 메시지를 표시합니다.
- 체력이 특정 값 이상인지 확인
gml if (health >= 80) { show_message("체력이 충분합니다!"); }
이 코드는 health가 80 이상인지 확인하고, 그렇다면 사용자에게 알림을 표시합니다.
위와 같이 Health 상태 확인 액션을 다양한 방식으로 활용할 수 있습니다. ```