[category] | Guides [section] | 기본 제작 가이드 > UI [title] | UI 디자인 가이드 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=816 [text] | # 학습 과정 소개 월드를 제작할 때 User Interface(UI)는 필수 요소입니다. UI는 유저에게 플레이 관련 정보를 명확하고 간결하게 제공해야 합니다. 점수, 체력, 남은 시간, 각종 버튼 같은 UI 요소가 잘 디자인되어 있다면 유저는 직관적으로 월드를 이해하고 재미있게 플레이할 수 있을 것입니다. 유저는 메이플스토리 월드를 PC 및 모바일 환경에서 두루 플레이할 수 있습니다. 그러므로 크리에이터는 다양한 환경에서 불편함이 없도록 UI를 디자인해야 합니다. 물론 월드 콘셉트에도 맞고, 시각적으로 눈길을 사로잡는 디자인을
[category] | Guides [section] | 기본 제작 가이드 > 객체 표현 > 아바타 [title] | 아바타 애니메이션 제어하기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=820 [text] | # 학습 과정 소개 아바타 애니메이션을 제어하는 3가지 방법을 살펴봅니다. 본 과정을 통해 크리에이터가 원하는 기능에 맞게 아바타 애니메이션을 제어해 봅시다. # ActionStateChangedEvent로 제어 아바타는 **AvatarRoot**에 **Body**와 **Face**로 나뉘어 있습니다. **Body**는 말 그대로 아바타의 몸통이며 **Face**는 아바타의 얼굴을 뜻합니다. 아바타의 **Body**와 **Face**에 어떤 애니메이션을 재생할지는 [ActionStateChangedEvent](/apiReferen
[category] | Guides [section] | 응용 제작 가이드 > 카드 짝 맞추기 [title] | 타이머 만들기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=821 [text] | # 타이머 만들기 게임을 시작하면 1초씩 감소하는 타이머를 만들어봅시다.  1. **CardPairGameLogic** 로직에 게임 제한 시간으로 사용할 **PlayTime** 프로퍼티와 시간을 줄이기 위해 사용할 **RemainingTime** 프로퍼티를 추가합니다. PlayTime 초깃값은 **60**으로 설정합니다. ```lua Proper
[category] | Guides [section] | 기본 제작 가이드 > 시작하기 > 스크립트 이해 [title] | 메이플스토리 월드 루아 기초 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=822 [text] | # 학습 과정 소개 메이플스토리 월드에서는 **루아**라는 언어를 사용하여 스크립트를 작성합니다. 이번 시간에는 **루아**의 기본 사용법과 메이플스토리 월드에서 사용하는 예제를 함께 살펴보겠습니다. # 변수 변수란 데이터를 저장하는 메모리 공간, 값을 담아두는 그릇입니다. ## 변수의 범위 루아에서 사용하는 변수는 아래의 두 가지로 나뉩니다. | 변수 | 설명 | | --- | --- | | 전역(global) 변수 | 어느 곳이든 접근 가능한 변수로 아무 선언 없이 사용하면 전역 변수입니다. **단, 메이플스토리 월드
[category] | Guides [section] | 응용 제작 가이드 > 카드 짝 맞추기 [title] | 점수 만들기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=823 [text] | # 점수 만들기 카드 짝 맞출 때마다 일정한 점수가 증가하게 만들어봅시다.  1. **PlayerStats** 컴포넌트를 **DefalutPlayer**에 추가합니다. **PlayerStats** 컴포넌트는 점수 증가를 담당합니다. 은 코드에 추가하여 사용하는 일종의 메타데이터입니다. 스크립트에 `--` 기호를 사용한 주석(Comment)은 스크립트 작성에 참고 역할만 하는 반면, `---@` 형태로 **어노테이션**을 작성하면 **퀵 인포**나 **시그니처 헬퍼**, **코드 컴플리션** 등 스크립트 어시스트의 도움을 받을 수 있습니다. 본 과정을 통해 메이플스토리 월드에서 제공하는 **어노테이션**의 종류와 활용 방법을 알아봅시다. > **더 알아보기** > 퀵 인포, 시그니처 헬퍼, 코드 컴플리션
[category] | Guides [section] | 응용 제작 가이드 > 카드 짝 맞추기 [title] | 배경음악, 효과음 만들기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=825 [text] | 게임을 다 만들었지만 어쩐지 심심한 느낌이 들지 않나요? 마지막으로 배경음악과 효과음을 추가해서 게임을 완성해봅시다. # 배경음악 설정하기 1. **Preset List - Background Music**을 선택합니다. 2. 원하는 BGM을 선택한 뒤, **Hierarchy - maps - map01**을 선택합니다. 프로퍼티 창에서 **SoundComponent**가 추가된 걸 확인할 수 있습니다. **Audio Play**를 눌러 음악을 확인합니다. **BGM, PlayOnEnable** 프로퍼티가 활성화 되어있는지 확
[category] | Guides [section] | 기본 제작 가이드 > 객체 표현 > 스프라이트/애니메이션 [title] | 머티리얼 활용하기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=828 [text] | # 학습 과정 소개 머티리얼(Material)은 다양한 프로퍼티를 통해 엔티티가 렌더링될 방법을 나타내는 객체입니다. 엔티티의 프로퍼티는 엔티티를 렌더링하는 코드에 따라 변경됩니다. 셰이더(Shader)란 물체를 렌더링할 때 사용할 코드(또는 스크립트)입니다. 셰이더의 프로퍼티 및 코드는 동적으로 변경될 수 없기 때문에, 셰이더마다 표현하는 효과가 다르게 나타납니다. 메이플스토리 월드에서는 다양한 셰이더를 제공합니다. 크리에이터는 머티리얼을 생성하고 원하는 의도에 맞게 셰이더 프로퍼티를 조절할 수 있습니다. # 머티리얼 생성하기
[category] | Guides [section] | 기본 제작 가이드 > 게임 로직/시스템 [title] | 스크린샷과 동적 스프라이트 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=829 [text] | # 학습 과정 소개 월드를 제작할 때 스프라이트가 필요하면 메이플스토리 월드에서 제공하는 것을 선택하거나, 크리에이터가 직접 Import 한 것을 사용할 수 있습니다. 이러한 방법 외에도 월드 플레이 도중 생성된 이미지를 월드에 업로드하고 다른 유저와 공유할 수도 있습니다. 이처럼 메이플스토리 월드에서 플레이 도중 생성되는 이미지를 **동적 스프라이트**라고 합니다. **동적 스프라이트**는 **RawImage**라는 데이터 타입에 담아서 월드에 업로드하고 **RUID**를 발급받아 사용할 수 있습니다. 이번 과정에서는 [Scr
[category] | Guides [section] | 기본 제작 가이드 > 게임 서비스 > 유료화 [title] | 아바타 상품 만들기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=830 [text] | # 학습 과정 소개 메이플스토리 월드에서 크리에이터는 직접 제작한 아바타 아이템을 판매할 수 있습니다. 이번 가이드에서는 제작한 아바타 아이템 판매 방법을 알아봅니다. 판매하기 전에 아바타 아이템을 제작하고 등록하는 방법은 아래 가이드를 참고해 봅시다. ##### 참고 가이드 * [아바타 아이템 제작](/docs/?postId=582) > **더 알아보기** > 아이템 제작, 판매할 때는 [메이플스토리 월드 크리에이터 운영정책](https://maplestoryworlds.nexon.com/legal/policy/699)을 준
[category] | Guides [section] | 기본 제작 가이드 > 특수 조작 [title] | 모바일 기기의 중력 센서 사용하기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=831 [text] | # 학습 과정 소개 `MobileGyroscopeService`를 활용해 모바일 기기에서 자이로스코프 센서 기능을 지원하는지 확인하고, 값을 측정할 수 있습니다. # MobileGyroscopeService `MobileGyroscopeService`를 활용하면 모바일 기기의 중력, 중력 가속도, 회전 가속도 값 등을 측정해 기기가 어디서, 얼마만큼의 힘을 받아 움직였는지 알 수 있습니다. 예를 들어 핸드폰을 위로 던졌을 때 얼마나 위로 올라갔는지 측정할 때 이 서비스를 사용합니다. MobileGyroScopeService는 모
[category] | Guides [section] | 기본 제작 가이드 > 특수 조작 [title] | 모바일 기기의 가속도 센서 사용하기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=832 [text] | # 학습 과정 소개 `MobileAccelerometerService` 활용해 모바일 기기에서 가속도 센서 기능을 지원하는지 확인하고, 값을 측정할 수 있습니다. # MobileAccelerometerService `MobileAccelerometerService`를 활용하면 모바일 기기의 기울기를 측정할 수 있습니다. MobileAccelerometerService는 가속도 센서가 있는 모바일 기기에서만 동작합니다. 그러므로 월드에 입장한 유저가 정상적으로 플레이할 수 있는지 확인하고 가속도 센서를 지원하지 않는 기기를 사용 중
[category] | Guides [section] | 기본 제작 가이드 > 특수 조작 [title] | 모바일 기기의 진동 기능 활용 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=833 [text] | # 학습 과정 소개 모바일 기기에서 진동을 울려 월드를 이용하는 유저에게 피드백을 줄 수 있습니다. # MobileVibratorService `MobileVibratorService`를 활용하면 모바일 기능에서 진동을 울릴 수 있습니다. 이 서비스는 모바일에서만 테스트와 활용이 가능하므로 메이커에서 테스트한다면 정상적으로 작동하지 않습니다. # 활용 예제 버튼을 누를 때마다 진동과 함께 토스트 알림창이 나오게 만들어 봅시다.  > 2편. [캐릭터가 발사체로 몬스터 공격하기](/docs?postId=937) 원거리 발사체를 날려서 몬스터를 처치하는 월드를 만들어 보기 위한 첫 번째 과정입니다. 원거리 발사체 모델을 만들고 관련 스크립트 컴포넌트를 작성하는 예제를 살펴봅시다. # 월드 템플릿 제작 편의를 위해 "기본" 템플릿으로 월드 생성하는 것을 권장합니다.  > **▶ 2편.** [**캐릭터가 발사체로 몬스터 공격하기**](/docs?postId=937) 원거리 발사체를 날려서 몬스터를 처치하는 월드를 만들어보는 마지막 과정입니다. 이제 캐릭터가 발사체로 몬스터를 공격하도록 만들어봅시다. # 공격 키 누르면 발사체 날리기 1. **PlayerAttack** 스크립트를 열고 아래와 같이 프로퍼티를 추가합니다. ```lua Proper
[category] | Guides [section] | 응용 제작 가이드 [title] | 몬스터 사냥과 아이템 획득 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=938 [text] | 예제를 통해 몬스터 처치, 아이템 드롭 및 획득, 인벤토리에 저장하는 방법을 알아봅니다. 아래의 과정을 차례대로 진행해 봅시다. $$childList $$
[category] | Guides [section] | 응용 제작 가이드 > 몬스터 사냥과 아이템 획득 [title] | 인벤토리 스크립트 작성하기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=942 [text] | # 학습 과정 소개 > 본 가이드는 아래의 순서로 이어지는 과정입니다. > 1편. [몬스터를 스폰해보자](/docs?postId=204) > 2편. [몬스터 드롭 아이템과 인벤토리 UI 만들기](/docs?postId=943) > **▶ 3편.** [**인벤토리 스크립트 작성하기**](/docs?postId=942) > 4편. [인벤토리 UI 스크립트 작성하기](/docs?postId=946) > 5편. [아이템 스크립트 작성하기](/docs?postId=947) 지난 시간에 이어 이번 과정에서는 인벤토리 스크립트를 작성해 보겠습
[category] | Guides [section] | 응용 제작 가이드 > 몬스터 사냥과 아이템 획득 [title] | 몬스터 드롭 아이템과 인벤토리 UI 만들기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=943 [text] | # 학습 과정 소개 > 본 가이드는 아래의 순서로 이어지는 과정입니다. > 1편. [몬스터를 스폰해보자](/docs?postId=204) > **▶ 2편.** [**몬스터 드롭 아이템과 인벤토리 UI 만들기**](/docs?postId=943) > 3편. [인벤토리 스크립트 작성하기](/docs?postId=942) > 4편. [인벤토리 UI 스크립트 작성하기](/docs?postId=946) > 5편. [아이템 스크립트 작성하기](/docs?postId=947) 지난 시간에 이어 이번 과정에서는 몬스터를 처치했을 때 드롭될 아이
[category] | Guides [section] | 기본 제작 가이드 > 시작하기 > 스크립트 이해 [title] | 메이플스토리 월드 루아 구문 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=944 [text] | # 학습 과정 소개 메이플스토리 월드에서 루아로 스크립트를 작성할 때 자주 사용하는 구문의 사용법을 알아봅시다. 본 가이드를 보기 전 [메이플스토리 월드 루아 기초](/docs?postId=822)를 학습하는 것을 권장합니다. # 조건문 보통 프로그램의 로직을 살펴보면 반복문과 조건문의 조합으로 이뤄지는 경우가 많습니다. 그만큼 조건문과 반복문은 프로그래밍의 기본이 되는 구문입니다. 먼저 조건문을 살펴봅시다. * **if** * 기본 조건문입니다. 조건이 **true** 면 **then**과 **end** 사이의 내용을
[category] | Guides [section] | 응용 제작 가이드 > 카드 짝 맞추기 [title] | 다시 게임하기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=945 [text] | 게임을 단 한 번만 할 수 있다면 너무나 아쉽겠죠. 게임의 묘미는 다시 하는 것이지요. 언제든지 **게임 다시하기** 버튼을 누르면 카드 짝 맞추기를 할 수 있게 지금까지 만든 월드를 아주 약간만 수정해봅시다. 정말 아주 약간이요!  # 게임 시작 부분 다듬기 짝 맞추기 게임을 완성한 여러분 축하합니다! 지금까지 만든 게임을 실
[category] | Guides [section] | 응용 제작 가이드 > 몬스터 사냥과 아이템 획득 [title] | 인벤토리 UI 스크립트 작성하기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=946 [text] | # 학습 과정 소개 > 본 가이드는 아래의 순서로 이어지는 과정입니다. > 1편. [몬스터를 스폰해보자](/docs?postId=204) > 2편. [몬스터 드롭 아이템과 인벤토리 UI 만들기](/docs?postId=943) > 3편. [인벤토리 스크립트 작성하기](/docs?postId=942) > **▶ 4편.** [**인벤토리 UI 스크립트 작성하기**](/docs?postId=946) > 5편. [아이템 스크립트 작성하기](/docs?postId=947) 지난 시간에 이어 이번 과정에서는 인벤토리 UI 스크립트를 작성해
[category] | Guides [section] | 응용 제작 가이드 > 몬스터 사냥과 아이템 획득 [title] | 아이템 스크립트 작성하기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=947 [text] | # 학습 과정 소개 > 본 가이드는 아래의 순서로 이어지는 과정입니다. > 1편. [몬스터를 스폰해보자](/docs?postId=204) > 2편. [몬스터 드롭 아이템과 인벤토리 UI 만들기](/docs?postId=943) > 3편. [인벤토리 스크립트 작성하기](/docs?postId=942) > 4편. [인벤토리 UI 스크립트 작성하기](/docs?postId=946) > **▶ 5편.** [**아이템 스크립트 작성하기**](/docs?postId=947) 지난 시간에 이어 이번 과정에서는 몬스터가 드롭할 아이템 관련 스크
[category] | Guides [section] | 기본 제작 가이드 > 시작하기 > 개념 이해 [title] | 메이플스토리 월드 용어 사전 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=949 [text] | # ㄱ ##### 계층 구조 Hierarchy 제작 중인 월드의 현황을 계층 구조로 확인할 수 있는 창 복잡하게 구성한 맵의 엔티티를 체계적으로 관리할 때 사용 **World, common, maps, ui**를 포함함 **참고 |** [Hierarchy](/docs/?postId=453) # ㄴ ##### 네이티브 API Native API 크리에이터는 생성할 수 없는 메이플스토리 월드 엔진 내의 API # ㄷ ##### 데이터 에디터 Data Editor 메이커에서 데이터 셋을 편집할 수 있는 에디터 ![dataeditor]
[category] | Guides [section] | 기본 제작 가이드 > 객체 표현 > 스프라이트/애니메이션 [title] | 머티리얼 응용하기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=950 [text] | # 학습 과정 소개 머티리얼은 **SpriteRendererComponent** 외의 다른 여러 가지 렌더러 컴포넌트에서 사용할 수 있습니다. 이를 통해 크리에이터는 시각적으로 다채롭고 색다른 나만의 월드를 구현할 수 있습니다. 이번 과정에서는 여러 컴포넌트에서 어떻게 머티리얼을 사용하는지 알아보겠습니다. 또한 예제를 통해 스크립트로 머티리얼을 제어하는 방법도 살펴보겠습니다. # 여러 가지 컴포넌트에서 머티리얼 사용하기 머티리얼은 다양한 렌더러 컴포넌트에서 사용할 수 있습니다. 사용 방법은 **SpriteRendererCompon
[category] | Guides [section] | 기본 제작 가이드 > 게임 서비스 > 로컬라이징 [title] | 로컬라이징의 이해 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=951 [text] | # 학습 과정 소개 크리에이터가 제작한 월드를 다양한 지역의 유저들이 즐길 수 있도록 하려면 로컬라이징 과정은 필수적입니다. `LocalizationService`는 클라이언트의 언어를 기반으로 텍스트나 어셋 등을 해당 언어에 맞게 제공할 수 있도록 도와줍니다. 이번 과정에서는 로컬라이징의 개념을 살펴보고 `LocalizationService`를 사용해 텍스트를 번역하는 방법을 알아봅시다. ##### 참고 가이드 [포맷에 맞게 로컬라이징하기](docs/?postId=968) [자동 번역](docs/?postId=1072) [Loc
[category] | Guides [section] | 기본 제작 가이드 > 시작하기 > 스크립트 이해 [title] | 스크립트 어시스트 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=952 [text] | # 학습 과정 소개 메이플스토리 월드의 스크립트 에디터는 코드를 보다 정확하고 빠르게 작성할 수 있도록 다양한 기능을 지원합니다. 스크립트 어시스트는 이러한 기능을 총칭합니다. 본 과정에서는 스크립트 어시스트의 다양한 기능을 안내하겠습니다. # 내비게이션 내비게이션(Navigation) 기능은 스크립트에서 원하는 위치로 빠르고 간편하게 이동할 수 있도록 지원합니다. ### 참조 찾기 참조 찾기(Find References) 기능은 단어 그대로 손쉽게 참조를 찾을 수 있게 도와줍니다. 심벌의 콘텍스트 메뉴에서 **Show Refe
[category] | Guides [section] | 기본 제작 가이드 > 객체 표현 > 아바타 [title] | 아바타를 UI에서 표현하기 [url] | https://maplestoryworlds-creators.nexon.com/ko/docs?postId=953 [text] | # 학습 과정 소개 **AvatarGUIRendererComponent**를 활용하면 UI에 캐릭터 정보를 보여줄 수 있습니다. 본 과정을 통해 **AvatarGUIRendererComponent** 활용 방법을 알아봅시다. ##### 참고 가이드 [아바타 애니메이션 제어하기](docs/?postId=820) ##### 참고 API Reference [AvatarGUIRendererComponent](/apiReference/Components/AvatarGUIRendererComponent) #### AvatarGUIRender