# 태그

![](https://4143380045-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-Mi-oU4ZzqW4xArg_UKo%2F-Mi-qUyr__yVKrFkvj2J%2FGMA_GitBook_Logic_Tags.png?alt=media\&token=1e9d16db-8f9c-430e-b9e5-78b1da4b771d)

태그는 게임 메이커 상에서 관계를 설정하는 작업에 활용할 수 있는 **식별자**입니다.

태그를 이용하면 한 오브젝트를 **다른 오브젝트와 구별**할 수 있어 로직 시스템에서 해당 오브젝트를 고유한 **식별자**로 지정하여 필요 시 올바른 오브젝트를 쉽게 분리할 수 있도록 합니다.

그러나 태그는 단지 식별의 역할을 하는 것이 아닌 애셋의 **정체성**입니다. 태그를 이용해 오브젝트가 경험에서 '*어떻게 나타날지*' 수정이 가능합니다. 동일한 오브젝트 두 개는 **태그 지정에 따라** 완전히 다른 방식으로 **인식**되고 **반응**할 수 있습니다.

**행동을 적용**할 때 이 작동 방식을 확인할 수 있습니다. 오브젝트에 행동을 추가함으로써 일련의 변수와 함께 태그가 지정되어 경험에서 해당 오브젝트가 **특정 엔티티 종류**로 식별될 수 있도록 합니다.

![](https://4143380045-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-Mi-uajjYFpUBOqt8j7t%2F-Mi-weU-I0TppesoTUw9%2FGMA_GitBook_Logic_Tags_2.png?alt=media\&token=07cec859-9739-4740-8903-ea28345c6cd6)

예를 들어, 애셋에 **Predator (포식자) 비헤이비어**를 추가하면 '*RequiresMovement (이동 필요)*', '*Predator (포식자)*', '*HealthComponent (체력 컴포넌트)*', 그리고 '*Hostile (적대적)*' 태그를 적용합니다. **Prey (먹잇감) 비헤이비어**를 추가하면 '*RequiresMovement (이동 필요)*', '*Prey (먹잇감)*', '*HealthComponent (체력 컴포넌트)*' 태그를 적용합니다.

결국 경험 내 모든 것은 **복셀의 컬렉션**이라는 것을 기억하세요. 나무를 장면 속에서 **악랄한 적**이 아닌 **수동적**인 존재로 만드는 유일한 방법은 **비헤이비어**와 **태그**를 특정 방식으로 설정하는 것입니다.

로직이 제대로 작동하려면 **태그를 명확하게 설정**해야 합니다. 그러면 어떤 대상이 **true**인지 **false**인지, **수집 가능**한지 **불가능**한지, **물리칠 수 있는지 없는지**, **친구**인지 **적**인지 정의할 때 이러한 식별자를 쉽게 불러올 수 있습니다.

![](https://4143380045-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-Mi-uajjYFpUBOqt8j7t%2F-Mi-zEGp5iNhMaW25N2_%2FGMA_GitBook_Logic_Tags_03.png?alt=media\&token=2e39bf09-77f0-49e6-aed6-0c6122a959ed)

열쇠는 열쇠처럼 보여도 열쇠로 보이고 수신되는 프레임워크를 완성할 때까지 열쇠로 작동하지 않습니다. **오브젝트**는 단순한 식물처럼 경험에 존재하는 것이 아니라 기능을 수행하는 것으로 식별될 수 있도록 **논리에 포함**되어야 합니다.

### &#xD;태그 설정&#xD;

태그를 설정하려면 오브젝트를 클릭하고 **속성 패널의 맨 아래 부분**을 확인합니다. 그곳에서 Tags라는 제목의 섹션을 확인할 수 있습니다.

비헤이비어를 추가하거나 특정 비헤이비어 또는 컴포넌트로 **사전 정의된** 애셋이 있다면 이미 해당되는 태그가 창에 **이미 나타날 것**입니다.

![](https://4143380045-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-Mi-uajjYFpUBOqt8j7t%2F-Mi027pyv98rNVRocFJO%2FGMA_GitBook_Logic_Tags_04.png?alt=media\&token=ec140ad9-eb54-4bbf-a781-dcdffd591d29)

**새로운 태그를 추가**하거나 이미 나열된 태그를 삭제하는 방법은 간단합니다.

기존 태그를 삭제하려면 해당 태그의 우측에 있는 **작은 X 버튼을 클릭**하세요.

**새로운** **태그를 추가**하려면 'Add Tag (태그 추가)' 박스를 클릭하고 원하는 태그를 입력한 후 엔터키를 눌러 추가합니다. 이렇게 하면 **Add Tag 박스 위**의 속성 패널에 태그가 추가되는 것을 확인할 수 있습니다.

![](https://4143380045-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-Mi02FN0t-Cft0GXZBkU%2F-Mi05IMXh0kZocvETkEE%2FGMA_GitBook_Logic_Tags_05.png?alt=media\&token=3acb1024-694f-4a48-971b-e7dd41eca1bd)

이는 게임 메이커의 강점으로, 게임을 플레이하고 테스트하는 데 **매우 유용**합니다.

{% hint style="info" %}
태그에는 **대소문자 구분**이 있습니다. 대문자 **P**와 쓰인 '***Predator***' 태그와 소문자 **p**와 쓰인 '***predator***'는 다른 태그로 인식됩니다.
{% endhint %}

예를 들어, 일반 브로드캐스트가 반드시 필요한 결과를 트리거하지 않으므로 일부 메시지에서는 태그가 메시지 대상으로 식별되어야 합니다.

이제 태그가 어떻게 작동하는지 알았으니, 다음 페이지에서 **메시지**란 무엇인지 알아보고 어떻게 태그와 함께 쓰일 수 있는지 배워보겠습니다!
