유니티 기초 강좌: 조건문 – if

유니티는 게임 개발에 있어 매우 중요한 엔진이며, 코딩 또한 게임 로직을 구현하는 데에 필수적입니다. 프로그래밍에서 조건문은 특정 조건에 따라 코드 블록을 실행하는 중요한 역할을 합니다. 이번 강좌에서는 C#을 사용하여 유니티에서 조건문인 if 문을 사용하는 방법과 그 다양한 활용 예제에 대해 알아보겠습니다.

조건문의 기본 개념

조건문은 프로그램의 흐름을 제어하는 구조로, 주어진 조건이 true인지 false인지에 따라 다른 명령을 실행합니다. C#에서 조건문은 주로 if 문을 사용하여 구현됩니다.

if 문 기본 구문

if (조건) {
        // 조건이 true일 때 실행할 코드
    }

위의 구문에서 ‘조건’ 부분은 Boolean 표현식으로, true 또는 false의 결과를 반환해야 합니다. 조건이 true인 경우에만 중괄호 안의 코드가 실행됩니다.

if 문 사용 예제

다음은 유니티 스크립트에서 if 문을 사용하는 기본적인 예제입니다.

예제 1: 플레이어의 건강 체크

using UnityEngine;

    public class Player : MonoBehaviour {
        public int health = 100;

        void Update() {
            if (health <= 0) {
                Debug.Log("플레이어가 죽었습니다.");
            }
        }
    }

이 예제에서는 Update 메서드가 매 프레임마다 호출됩니다. 만약 플레이어의 건강이 0 이하가 되면, “플레이어가 죽었습니다.”라는 메시지를 로그로 출력합니다.

else 문 사용하기

if 문과 함께 사용하는 else 문을 사용하면, 조건이 false일 경우 실행할 코드를 지정할 수 있습니다.

using UnityEngine;

    public class Player : MonoBehaviour {
        public int health = 100;

        void Update() {
            if (health <= 0) {
                Debug.Log("플레이어가 죽었습니다.");
            } else {
                Debug.Log("플레이어는 건강합니다.");
            }
        }
    }

중첩 if 문

조건문은 중첩될 수 있으며, 복잡한 논리를 구현할 수 있습니다. 다음 예제는 플레이어의 건강과 무기 장착 상태를 체크합니다.

using UnityEngine;

    public class Player : MonoBehaviour {
        public int health = 100;
        public bool hasWeapon = false;

        void Update() {
            if (health <= 0) {
                Debug.Log("플레이어가 죽었습니다.");
            } else {
                if (hasWeapon) {
                    Debug.Log("플레이어가 무기를 장착하고 있습니다.");
                } else {
                    Debug.Log("플레이어가 무기를 장착하고 있지 않습니다.");
                }
            }
        }
    }

else if 문

여러 조건을 처리하기 위해 else if를 사용할 수 있습니다. 이를 통해 다양한 경우의 수를 한꺼번에 처리할 수 있습니다.

using UnityEngine;

    public class Player : MonoBehaviour {
        public int health = 100;

        void Update() {
            if (health > 75) {
                Debug.Log("플레이어는 건강합니다.");
            } else if (health > 50) {
                Debug.Log("플레이어는 피곤합니다.");
            } else if (health > 25) {
                Debug.Log("플레이어는 위험합니다.");
            } else {
                Debug.Log("플레이어가 죽었습니다.");
            }
        }
    }

조건문에서 논리 연산자 사용하기

조건문에는 논리 연산자인 AND (&&)OR (||) 를 사용할 수 있습니다. 여러 조건을 결합하여 더욱 복잡한 조건을 만들 수 있습니다.

AND 연산자 사용하기

using UnityEngine;

    public class Player : MonoBehaviour {
        public int health = 100;
        public bool hasWeapon = true;

        void Update() {
            if (health > 0 && hasWeapon) {
                Debug.Log("플레이어가 생존 중이며 무기를 소지하고 있습니다.");
            } else {
                Debug.Log("플레이어의 상태가 위험합니다.");
            }
        }
    }

OR 연산자 사용하기

using UnityEngine;

    public class Player : MonoBehaviour {
        public int health = 100;
        public bool hasWeapon = false;

        void Update() {
            if (health <= 0 || !hasWeapon) {
                Debug.Log("플레이어가 죽었거나 무기를 소지하지 않습니다.");
            } else {
                Debug.Log("플레이어가 생존 중이며 무기를 소지하고 있습니다.");
            }
        }
    }

결론

이번 강좌에서는 유니티에서 조건문인 if 문을 사용하는 방법에 대해 자세히 살펴보았습니다. 조건문은 게임의 로직을 제어하는 데 있어 매우 중요하며, 복잡한 게임을 만들기 위해서는 다양한 조건문을 활용할 수 있어야 합니다. if, else, else if, 그리고 논리 연산자들을 적절히 활용하여 자신만의 게임 로직을 만들어보세요. 유니티의 기초를 다지며 더욱 발전된 게임 개발자로 성장하길 바랍니다.