← 목록

mLua · Nemotron SDG 질문-응답 (SFT)

총 21,567개 · 페이지 512/719
🔀 랜덤
불러오는 중…

[task] | two_turn [pass] | ⏳ 미판정 [title] | MSW 단축키 [question] | 메이커 사용 MSW에서 제공하는 주요 단축키 그룹과 그 역할을 전체적으로 알려주세요. [answer] | 메이플스토리 월드 메이커에서 제공하는 주요 단축키 그룹과 그 역할은 다음과 같습니다. ### 1. 디버그 모드 스크립트 실행을 제어하고 오류를 추적하는 데 사용되는 단축키입니다. | 단축키 | 액션 | 설명 | | :--- | :--- | :--- | | `F5` | 디버그 모드 / 다음 중단점까지 이동 | 디버그 모드를 실행합니다. 이미 실행 중이라면 다음 중단점 라인까지 실행합니다. | | `F9` | 중단점 | 선택된 코드 라인에 중단점을 설정합니다. | | `F10` | 프로시저 단위 실행 (Step Over) | 코드를 [followup] | 디버그 모드에서 `F10`과 `F11`의 차이점과, 특정 함수 내부 로직을 추적할 때 어떤 키 조합을 사용하는지 구체적으로 설명해 주세요. [followup_answer] | 디버그 모드에서 `F10`과 `F11`의 차이점과 함수 내부 로직 추적 시 사용하는 키 조합은 다음과 같습니다. ### 1. `F10`과 `F11`의 차이점 두 키 모두 코드를 한 줄씩 실행하는 스텝 기능이지만, **포커싱된 라인에 함수가 존재할 때의 동작 방식**이 다릅니다. * **`F10` (프로시저 단위 실행 / Step Over)** * 코드를 한 줄씩 실행합니다. * 포커싱된 라인에 함수가 있을 경우, 해당 함수를 실행한 것으로 간주하고 **함수 내부로 들어가지 않으며** 바로 다음 줄로 넘 [scores] | [judge_reason] | [source_doc] | # 디버그 모드 | 단축키 | 액션 | 설명 | | --- | --- | --- | | `F5` | 디버그 모드 / 다음 중단점까지 이동 | 디버그 모드를 실행합니다. 디버그 모드가 실행되어 있다면 다음 중단점이 있는 코드 라인까지 실행합니다. | | `F9` | 중단점 | 선택한 코드 라인에 중단점을 설정합니다. | | `F10` | 프로시저 단위 실행(Step Over) | 코드를 한 줄씩 실행합니다. 포커싱 된 라인에 함수가 있을 때, 함수를 실행한 것으로 간주하고 다음 줄로 넘어갑니다. | | `F11` | 한 단계씩

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 아바타 애니메이션 제어하기 [question] | ActionStateChangedEvent 생성 시 프레임 인수의 제약 조건과 보정 로직을 3문장 이내로 설명하세요. [answer] | 프레임은 양수로 설정해야 하며, 시작 프레임은 종료 프레임보다 작거나 같아야 하고 종료 프레임은 애니메이션의 총 프레임 수를 초과할 수 없습니다. 잘못된 값을 입력하면 음수 시작 프레임은 0으로, 총 프레임을 초과하는 종료 프레임은 총 프레임 값으로 자동 보정됩니다. 값을 입력하지 않으면 기본값이 적용되며, CoreActionName과 PartsActionName은 반드시 입력해야 애니메이션이 정상 출력됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 각 애니메이션의 총 프레임은 **AvatarItem Editor**에서 확인할 수 있습니다. 위와 같이 총 프레임을 확인한 뒤, 크리에이터가 재생하기를 원하는 애니메이션 시작 프레임(StartFrameIndex)과 종료 프레임(EndFrameIndex)을 설정하면 됩니다. 프레임을 설정할 때는 다음 사항을 주의해야 합니다. * 프레임은 양수로 설정해야 합니다. * 시작 프레임은 종료 프레임보다 작거나 같아야 합니다. * 종료 프레임은 총 애니메이션 프레임보다 작거나 같아야 합니다. * 프레임값을 잘못 설정하면 보정됩니다. *

[task] | single_turn [pass] | ⏳ 미판정 [title] | UI 디자인 가이드 [question] | UI 버튼의 색상과 크기를 통일해야 하는 구체적인 기준이 무엇인가요? [answer] | UI 버튼의 색상과 크기를 통일해야 하는 구체적인 기준은 다음과 같습니다. **색상 통일 기준** * **기능 기반 일관성:** 비슷한 기능을 하는 버튼에는 항상 같은 색상을 사용합니다. * **예시:** [예] 또는 [확인] 버튼에 파란색을 사용하기로 결정했다면, 해당 월드 내 모든 해당 버튼은 파란색으로 설정해야 합니다. * **목적:** 너무 많은 색상을 사용하면 UI가 지저분해지고 색상의 의미가 불분명해지므로, 사용할 색상 팔레트를 제한하고 일관되게 적용해야 합니다. **크기 통일 기준** * **비중(중요 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 일관성 있는 UI 디자인은 유저가 월드 플레이 방식을 보다 빠르게 이해하고 즐길 수 있도록 도와줍니다. 이러한 UI 디자인을 위해 아래 사항을 참고해 봅시다. ##### 색상 팔레트 UI에서 사용할 색상 팔레트를 결정하고 일관되게 사용해 봅시다. 너무 많은 색상을 사용하면 UI가 지저분해지고 해당 색상이 무엇을 의미하는지도 알 수 없게 됩니다. 해당 월드 UI에서 사용할 몇 가지 색상을 정하고, 비슷한 기능을 하는 요소는 같은 색상을 사용하여 일관성을 유지하는 것이 좋습니다. 예를 들어, [예] 또는 [확인] 버튼에 파란색을 사용

[task] | code [pass] | ⏳ 미판정 [title] | 사다리와 로프 활용하기 [question] | ClimbableSpriteRendererComponent의 Color 프로퍼티에 빨간색(1,0,0,1)을 지정하고, OrderInLayer를 10으로 설정해 다른 엔티티보다 앞으로 보이도록 하는 스크립트를 작성해줘 [answer] | ClimbableSpriteRendererComponent의 Color 프로퍼티는 원문에서 "Sprite에 색깔을 씌웁니다. 기본 흰색일 경우에 원본의 색이 나옵니다."라고만 설명되어 있으며, Color 타입이 Vector4인지, RGBA 값의 범위가 0~1인지에 대한 구체적인 정보가 없습니다. 또한, mLua 표준 타입 목록(Vector2/Vector3/Entity/string/number/boolean/table/any)에는 Vector4가 명시되어 있지 않아, (1,0,0,1) 형태의 값으로 Color 프로퍼티를 직접 설정하는 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | [ClimbableSpriteRendererComponent](/apiReference/Components/ClimbableSpriteRendererComponent)는 사다리나 로프의 스프라이트를 설정하고 길이를 조절할 수 있습니다. 사다리나 로프는 ①머리, ②몸통, ③꼬리 부분으로 이루어져 있는데 그 길이를 늘리면 몸통 부분의 스프라이트가 반복되며 늘어납니다. **ClimbableSpriteRendererComponent**의 프로퍼티를 살펴봅시다. | 프로퍼티 명 | 설명 | | :---: | --- | | FlipX

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 아바타 애니메이션 제어하기 [question] | CoreActionName과 PartsActionName의 차이를 비교하는 표로 정리하세요. [answer] | **CoreActionName**과 **PartsActionName**의 차이는 아래 표와 같습니다. | 구분 | CoreActionName | PartsActionName | | :--- | :--- | :--- | | **적용 대상** | 아바타의 맨몸 액션 | 얼굴 장식을 제외한 아바타 장착 아이템의 액션 | | **동작 예시** | 몸통의 움직임 (예: `walk1`로 설정 시 아바타의 몸통이 걷기) | 옷, 신발 등 장착 아이템의 움직임 (예: `stand1`로 설정 시 가만히 서기) | | **설정 권장 사항** | 일 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **ActionStateChangedEvent**는 **ActionName**으로 어떤 애니메이션을 재생할지 결정합니다. 아래는 **ActionName**의 목록입니다. |@cols=4:@rows=1:ActionName| |:---:|:---:|:---:|:---:| | stand1 | swingO1 | stabO1 | shoot1 | | stand2 | swingO2 | stabO2 | shoot2 | | walk1 | swingO3 | stabOF | shootF | | walk2 | swingOF | stabT1 | | |

[task] | single_turn [pass] | ⏳ 미판정 [title] | UI 디자인 가이드 [question] | 모바일 가독성을 고려할 때 UI 텍스트의 폰트 크기를 최소 얼마 이상으로 설정하는 것이 좋으며, 정보량이 많은 RPG 장르에서는 어떻게 대응할 수 있나요? [answer] | 모바일 가독성을 고려하여 UI 텍스트의 폰트 크기는 일반적으로 **24pt 이상**으로 설정하는 것이 좋습니다. 정보량이 많은 RPG 장르와 같이 더 작은 폰트 크기가 필요한 상황이더라도, 가독성 저하를 방지하기 위해 **최소 18pt 이상**으로 설정해야 합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 월드를 제작할 때 User Interface(UI)는 필수 요소입니다. UI는 유저에게 플레이 관련 정보를 명확하고 간결하게 제공해야 합니다. 점수, 체력, 남은 시간, 각종 버튼 같은 UI 요소가 잘 디자인되어 있다면 유저는 직관적으로 월드를 이해하고 재미있게 플레이할 수 있을 것입니다. 유저는 메이플스토리 월드를 PC 및 모바일 환경에서 두루 플레이할 수 있습니다. 그러므로 크리에이터는 다양한 환경에서 불편함이 없도록 UI를 디자인해야 합니다. 물론 월드 콘셉트에도 맞고, 시각적으로 눈길을 사로잡는 디자인을

[task] | instruction_following [pass] | ⏳ 미판정 [title] | UI 디자인 가이드 [question] | 메이플스토리 월드에서 사용할 수 있는 네 가지 폰트 중 글로벌 서비스 시 추천되는 폰트와 그 이유, 그리고 나머지 세 폰트의 사용 제한 사항을 단계별 번호 목록으로 나열하세요. [answer] | 메이플스토리 월드에서 글로벌 서비스 시 추천되는 폰트는 **Noto Sans**입니다. **추천 이유:** * Noto Sans 폰트는 언어별 호환성이 좋습니다. * 다양한 언어로 번역하는 글로벌 서비스 상황을 고려할 때 가장 적합하기 때문입니다. 나머지 세 폰트(Maple, Bazzi, Football)의 사용 제한 사항은 다음과 같습니다: 1. **Maple, Bazzi, Football 폰트는 한글 및 영어 사용에는 무리가 없으나 그 외 언어는 대응하지 못합니다.** 2. 따라서 이 세 가지 폰트는 **숫자나 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 일관성 있는 UI 디자인은 유저가 월드 플레이 방식을 보다 빠르게 이해하고 즐길 수 있도록 도와줍니다. 이러한 UI 디자인을 위해 아래 사항을 참고해 봅시다. ##### 색상 팔레트 UI에서 사용할 색상 팔레트를 결정하고 일관되게 사용해 봅시다. 너무 많은 색상을 사용하면 UI가 지저분해지고 해당 색상이 무엇을 의미하는지도 알 수 없게 됩니다. 해당 월드 UI에서 사용할 몇 가지 색상을 정하고, 비슷한 기능을 하는 요소는 같은 색상을 사용하여 일관성을 유지하는 것이 좋습니다. 예를 들어, [예] 또는 [확인] 버튼에 파란색을 사용

[task] | single_turn [pass] | ⏳ 미판정 [title] | UI 디자인 가이드 [question] | Point 필터 모드와 Bilinear 필터 모드의 차이점과 각각 어떤 종류의 이미지 리소스에 적합한지 설명해 주세요. [answer] | UI 리소스의 필터 모드 설정은 이미지를 확대했을 때 색상이 어떻게 표현되는지를 결정합니다. Point와 Bilinear 모드는 각각 다른 특징을 가지며, 이미지 리소스의 성격에 따라 적절하게 선택해야 합니다. **Point 필터 모드** * **특징:** 색을 선명하게 유지합니다. 스프라이트를 확대했을 때 색의 경계가 또렷하게 보입니다. * **적합한 리소스:** 도트 이미지처럼 이미지 가장자리가 깔끔하게 떨어지는 리소스에서 주로 사용합니다. **Bilinear 필터 모드** * **특징:** 특정 색과 주변 색을 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 일관성 있는 UI 디자인은 유저가 월드 플레이 방식을 보다 빠르게 이해하고 즐길 수 있도록 도와줍니다. 이러한 UI 디자인을 위해 아래 사항을 참고해 봅시다. ##### 색상 팔레트 UI에서 사용할 색상 팔레트를 결정하고 일관되게 사용해 봅시다. 너무 많은 색상을 사용하면 UI가 지저분해지고 해당 색상이 무엇을 의미하는지도 알 수 없게 됩니다. 해당 월드 UI에서 사용할 몇 가지 색상을 정하고, 비슷한 기능을 하는 요소는 같은 색상을 사용하여 일관성을 유지하는 것이 좋습니다. 예를 들어, [예] 또는 [확인] 버튼에 파란색을 사용

[task] | single_turn [pass] | ⏳ 미판정 [title] | UI 디자인 가이드 [question] | 모바일 환경에서 터치하기 좋은 버튼 크기를 권장하는 기준은 얼마이며, 버튼 사이의 간격은 왜 중요할까요? [answer] | 모바일 환경에서 터치하기 좋은 버튼 크기의 권장 기준은 **80 X 80px** 이상입니다. 버튼 사이의 간격이 중요한 이유는 다음과 같습니다. * **간섭 방지:** 버튼 간격이 적당히 떨어져 있어야 사용자가 한 버튼을 터치할 때 다른 버튼이 동시에 눌리는 일이 방지됩니다. * **터치 용이성:** 손가락으로 터치하는 특성상, 터치 영역 및 여백을 적절히 조절해 주어야 사용자가 원하는 버튼을 정확하고 불편함 없이 선택할 수 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 월드를 제작할 때 User Interface(UI)는 필수 요소입니다. UI는 유저에게 플레이 관련 정보를 명확하고 간결하게 제공해야 합니다. 점수, 체력, 남은 시간, 각종 버튼 같은 UI 요소가 잘 디자인되어 있다면 유저는 직관적으로 월드를 이해하고 재미있게 플레이할 수 있을 것입니다. 유저는 메이플스토리 월드를 PC 및 모바일 환경에서 두루 플레이할 수 있습니다. 그러므로 크리에이터는 다양한 환경에서 불편함이 없도록 UI를 디자인해야 합니다. 물론 월드 콘셉트에도 맞고, 시각적으로 눈길을 사로잡는 디자인을

[task] | two_turn [pass] | ⏳ 미판정 [title] | MSW 단축키 [question] | 코드 컴플리션, 퀵 인포, 시그니처 헬퍼 등 편집기 UI 요소를 일시적으로 숨기거나 투명하게 만들 수 있는 기능과 그 단축키는 무엇인가요? [answer] | 메이플스토리 월드 메이커에서 코드 컴플리션, 퀵 인포, 시그니처 헬퍼를 일시적으로 투명하게 만들 수 있습니다. 이 기능을 실행하는 단축키는 `Ctrl(L)` 단독 키입니다. [followup] | 특정 함수 블록 내부에서 해당 함수의 최상단이나 최하단으로 빠르게 이동하고 싶을 때, 일반 PageUp/PageDown 대신 사용할 수 있는 더 구체적인 탐색 단축키가 있나요? [followup_answer] | 특정 함수 블록 내부에서 해당 블록의 최상단이나 최하단으로 이동하려면 `PageUp`과 `PageDown`을 사용합니다. * **`PageUp`**: 선택한 코드 블록의 최상단으로 이동합니다. * **`PageDown`**: 선택한 코드 블록의 최하단으로 이동합니다. 참고로, `Ctrl(L)` + `Up Arrow`(위 스코프로 이동)와 `Ctrl(L)` + `Down Arrow`(아래 스코프로 이동)는 현재 캐럿이 위치한 줄의 스코프 기준으로 위/아래 스코프로 이동하는 기능이며, 특정 블록 내부의 최상단/최하단으로 바로 [scores] | [judge_reason] | [source_doc] | | 단축키 | 액션 | 설명 | | --- | --- | --- | | `Tab` | 들여쓰기 | 캐럿 위치에서 들여쓰기 합니다. | | `Shift` + `Tab` | 내어 쓰기 | 캐럿 위치에서 내어 쓰기 합니다. | | `Home` | 앞 | 선택한 줄의 맨 앞으로 캐럿을 이동합니다. | | `End` | 뒤 | 선택한 줄의 맨 뒤로 캐럿을 이동합니다. | | `PageUp` | 코드 블록 최상단 | 선택한 코드 블록의 최상단으로 이동합니다. | | `PageDown` | 코드 블록 최하단 | 선택한 코드 블록의 최하단으로 이

[task] | two_turn [pass] | ⏳ 미판정 [title] | MSW 단축키 [question] | 메이커 사용 MSW에서 코드의 들여쓰기나 내어 쓰기를 할 때 사용하는 단축키가 무엇인가요? [answer] | 메이커 사용 MSW에서 코드의 들여쓰기와 내어 쓰기를 위한 단축키는 다음과 같습니다. * **들여쓰기**: `Tab` 키 * 현재 캐럿(커서) 위치에서 코드를 들여쓰기 합니다. * **내어 쓰기**: `Shift` + `Tab` 키 * 현재 캐럿(커서) 위치에서 코드를 내어 쓰기 합니다. [followup] | 여러 줄의 코드를 선택한 상태에서 블록 주석 처리를 하고 싶은데, 이 동작을 수행하는 구체적인 단축키 조합은 어떻게 되나요? [followup_answer] | 여러 줄의 코드를 선택한 상태에서 블록 주석 처리를 수행하는 단축키 조합은 `Ctrl(L)` + `Shift(L)` + `/` 입니다. 이 단축키를 사용하면 선택한 영역의 코드가 블록 주석으로 처리됩니다. [scores] | [judge_reason] | [source_doc] | | 단축키 | 액션 | 설명 | | --- | --- | --- | | `Tab` | 들여쓰기 | 캐럿 위치에서 들여쓰기 합니다. | | `Shift` + `Tab` | 내어 쓰기 | 캐럿 위치에서 내어 쓰기 합니다. | | `Home` | 앞 | 선택한 줄의 맨 앞으로 캐럿을 이동합니다. | | `End` | 뒤 | 선택한 줄의 맨 뒤로 캐럿을 이동합니다. | | `PageUp` | 코드 블록 최상단 | 선택한 코드 블록의 최상단으로 이동합니다. | | `PageDown` | 코드 블록 최하단 | 선택한 코드 블록의 최하단으로 이

[task] | two_turn [pass] | ⏳ 미판정 [title] | MSW 단축키 [question] | 메이커에서 Scene, Hierarchy 등 주요 패널을 빠르게 전환하는 MSW 단축키는 어떻게 구성되어 있나요? [answer] | 메이커에서 주요 패널로 빠르게 포커스를 이동하거나 패널을 생성하는 단축키는 `Ctrl(L)` 키를 기반으로 숫자 키를 조합하여 구성됩니다. 각 단축키의 구성과 동작은 다음과 같습니다. **기본 패널 전환 (`Ctrl(L)` + 숫자 키)** * `Ctrl(L)` + `1`: **Scene** 패널로 포커스 이동 * `Ctrl(L)` + `2`: **Property** 패널 생성 확인 후 포커스 이동 * `Ctrl(L)` + `3`: **Hierarchy** 패널 생성 확인 후 포커스 이동 * `Ctrl(L)` + [followup] | Hierarchy 패널에서 선택된 객체의 이름을 변경하거나 특정 위치로 이동할 때 사용하는 단축키가 무엇인가요? [followup_answer] | Hierarchy 패널(또는 Workspace)에서 선택된 객체의 이름을 변경하거나 특정 위치로 이동할 때 사용하는 단축키는 다음과 같습니다. **이름 변경** * `F2`: 선택한 객체의 이름을 변경합니다. **위치 이동 및 계층 조작** * `Left Arrow`: 상위 계층으로 이동하거나 계층을 접습니다. * `Right Arrow`: 하위 계층으로 이동하거나 계층을 펼칩니다. * `Up Arrow`: 위 항목으로 이동합니다. * `Down Arrow`: 아래 항목으로 이동합니다. * `Home`: 최 [scores] | [judge_reason] | [source_doc] | | 단축키 | 액션 | 설명 | | --- | --- | --- | | `Ctrl(L)` + `1` | Scene | **Scene** 패널로 포커스가 이동합니다. | | `Ctrl(L)` + `2` | Property | **Property** 패널 생성 확인 후 포커스가 이동합니다. | | `Ctrl(L)` + `3` | Hierarchy | **Hierarchy** 패널 생성 확인 후 포커스가 이동합니다. | | `Ctrl(L)` + `4` | Workspace | **Workspace** 패널 생성 확인 후 포커스가 이동합니

[task] | two_turn [pass] | ⏳ 미판정 [title] | 사다리와 로프 활용하기 [question] | ClimbableSpriteRendererComponent는 어떤 상황에서 사용되며, ClimbableComponent와 함께 사용할 때 어떤 역할을 하나요? [answer] | ClimbableSpriteRendererComponent는 사다리나 로프와 같이 **머리, 몸통, 꼬리 형태의 스프라이트를 시각적으로 렌더링(그리기)** 하기 위해 사용됩니다. 즉, 등반 가능한 오브젝트의 외형을 표현하는 데 쓰이는 컴포넌트입니다. ClimbableComponent와 함께 사용할 때의 역할은 다음과 같습니다: 1. **ClimbableComponent**: 캐릭터가 해당 오브젝트를 실제로 **등반할 수 있게 하는 기능적 로직**과 설정(등반 영역, 속도, 애니메이션 타입 등)을 담당합니다. 2. **Clim [followup] | 사다리나 로프처럼 머리, 몸통, 꼬리 형태의 스프라이트를 그릴 때 ClimbableSpriteRendererComponent의 구체적인 활용 사례와, ClimbableComponent의 등반 영역(Collider)과 시각적 스프라이트가 일치하지 않을 때 발생할 수 있는 문제를 해결하는 방법을 알려주세요. [followup_answer] | 참고 문서에 근거하여 질문에 답변드립니다. ### 1. ClimbableSpriteRendererComponent의 구체적 활용 사례 `ClimbableSpriteRendererComponent`는 사다리나 로프와 같이 **머리, 몸통, 꼬리 형태의 스프라이트를 시각적으로 렌더링(그리기)** 하는 용도로 사용됩니다. 구체적인 활용 사례는 다음과 같습니다: * **등반 오브젝트의 외형 표현**: 캐릭터가 실제로 등반할 수 있는 기능(`ClimbableComponent`)이 있는 오브젝트에, 사다리나 로프처럼 보이게 하는 스프라 [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 캐릭터가 사다리나 로프를 타면 수직으로 올라갈 수 있습니다. 이는 사다리나 로프의 동작과 연관된 **ClimbableComponent**가 있기 때문입니다. 이 컴포넌트를 활용하면 사다리, 로프뿐만 아니라 다른 오브젝트에서도 등반할 수 있습니다. 또한 크리에이터가 원하는 대로 등반 영역이나 등반 속도를 조절할 수 있습니다. 관련된 컴포넌트로 **ClimbableSpriteRendererComponent**도 있습니다. 이 컴포넌트는 사다리나 로프와 같이 머리, 몸통, 꼬리 형태의 스프라이트를 그리기 위한 용도로

[task] | instruction_following [pass] | ⏳ 미판정 [title] | UI 디자인 가이드 [question] | Resource Storage에 등록할 스프라이트의 최적화 조건과 필터 모드(Point, Bilinear)의 특징을 비교하는 표로 정리하세요. [answer] | Resource Storage에 스프라이트를 등록할 때 최적화 조건과 필터 모드의 특징은 다음과 같습니다. **1. 리소스 최적화 조건** * 스프라이트의 **가로 및 세로 길이가 4의 배수**인 경우, 업로드 시 자동으로 최적화되어 용량이 줄어듭니다. * 예: 가로 2000px, 세로 2000px인 스프라이트는 4의 배수이므로 자동 최적화 대상입니다. **2. 필터 모드 비교** | 필터 모드 | 특징 및 사용 권장 사항 | | :--- | :--- | | **Point** | • 색을 선명하게 유지하며, 스프 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 일관성 있는 UI 디자인은 유저가 월드 플레이 방식을 보다 빠르게 이해하고 즐길 수 있도록 도와줍니다. 이러한 UI 디자인을 위해 아래 사항을 참고해 봅시다. ##### 색상 팔레트 UI에서 사용할 색상 팔레트를 결정하고 일관되게 사용해 봅시다. 너무 많은 색상을 사용하면 UI가 지저분해지고 해당 색상이 무엇을 의미하는지도 알 수 없게 됩니다. 해당 월드 UI에서 사용할 몇 가지 색상을 정하고, 비슷한 기능을 하는 요소는 같은 색상을 사용하여 일관성을 유지하는 것이 좋습니다. 예를 들어, [예] 또는 [확인] 버튼에 파란색을 사용

[task] | two_turn [pass] | ⏳ 미판정 [title] | MSW 단축키 [question] | 현재 스크립트 내에서만 특정 텍스트를 찾아 바꾸는 기능과, 전체 프로젝트의 모든 스크립트를 대상으로 검색·교체하는 기능을 구분하는 단축키는 각각 무엇인가요? [answer] | 현재 스크립트 내에서만 텍스트를 찾아 바꾸는 기능과, 전체 프로젝트의 모든 스크립트를 대상으로 검색·교체하는 기능의 단축키는 다음과 같습니다. **현재 스크립트 내 검색 및 교체** * **검색:** `Ctrl(L)` + `F` * **교체:** `Ctrl(L)` + `H` **전체 프로젝트 검색 및 교체** * **검색:** `Ctrl(L)` + `Shift(L)` + `F` * **교체:** `Ctrl(L)` + `Shift(L)` + `H` [followup] | 현재 캐럿이 위치한 줄 전체를 삭제해야 할 때와, 캐럿 기준 왼쪽 또는 오른쪽 문자만 지우기 위해 각각 어떤 단축키를 사용해야 하나요? [followup_answer] | 캐럿이 위치한 줄 전체를 삭제하거나, 캐럿 기준 왼쪽 또는 오른쪽 문자만 지우기 위한 단축키는 다음과 같습니다. **현재 줄 전체 삭제** * `Ctrl(L)` + `L`: 캐럿이 위치한 줄 전체를 삭제합니다. **캐럿 기준 부분 문자 삭제** * `Ctrl(L)` + `Backspace`: 캐럿 기준 왼쪽을 삭제합니다. * `Ctrl(L)` + `Delete`: 캐럿 기준 오른쪽을 삭제합니다. [scores] | [judge_reason] | [source_doc] | | 단축키 | 액션 | 설명 | | --- | --- | --- | | `Tab` | 들여쓰기 | 캐럿 위치에서 들여쓰기 합니다. | | `Shift` + `Tab` | 내어 쓰기 | 캐럿 위치에서 내어 쓰기 합니다. | | `Home` | 앞 | 선택한 줄의 맨 앞으로 캐럿을 이동합니다. | | `End` | 뒤 | 선택한 줄의 맨 뒤로 캐럿을 이동합니다. | | `PageUp` | 코드 블록 최상단 | 선택한 코드 블록의 최상단으로 이동합니다. | | `PageDown` | 코드 블록 최하단 | 선택한 코드 블록의 최하단으로 이

[task] | single_turn [pass] | ⏳ 미판정 [title] | 아바타 애니메이션 제어하기 [question] | AvatarItem Editor에서 확인한 총 프레임 수가 ActionStateChangedEvent의 종료 프레임보다 작은 경우 어떤 오류가 발생하나요? [answer] | 오류가 발생하지 않습니다. 프레임값을 잘못 설정한 경우(예: 총 애니메이션 프레임보다 큰 종료 프레임을 입력한 경우) 시스템이 자동으로 값을 보정합니다. 구체적으로, 종료 프레임(EndFrameIndex)이 총 애니메이션 프레임보다 클 경우, 해당 값은 총 애니메이션 프레임 수로 조정됩니다. 예를 들어, 총 프레임이 3인데 종료 프레임으로 4를 입력하면, 이는 자동으로 3으로 보정되어 정상적으로 동작합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 각 애니메이션의 총 프레임은 **AvatarItem Editor**에서 확인할 수 있습니다. 위와 같이 총 프레임을 확인한 뒤, 크리에이터가 재생하기를 원하는 애니메이션 시작 프레임(StartFrameIndex)과 종료 프레임(EndFrameIndex)을 설정하면 됩니다. 프레임을 설정할 때는 다음 사항을 주의해야 합니다. * 프레임은 양수로 설정해야 합니다. * 시작 프레임은 종료 프레임보다 작거나 같아야 합니다. * 종료 프레임은 총 애니메이션 프레임보다 작거나 같아야 합니다. * 프레임값을 잘못 설정하면 보정됩니다. *

[task] | code [pass] | ⏳ 미판정 [title] | 파티클 활용하기 [question] | TriggerComponent가 있는 엔티티에 캐릭터가 닿으면 BasicParticleType.ToonTallFire 파티클이 생성되고, 같은 엔티티에 다시 닿으면 생성된 파티클이 삭제되도록 ParticleService와 TriggerEnterEvent를 활용하는 스크립트를 작성해줘 [answer] | 사용자가 요청한 기능은 특정 엔티티에 캐릭터가 닿으면 파티클이 생성되고, 같은 엔티티에 다시 닿으면 그 파티클이 삭제되는 토글(Toggle) 동작입니다. 제공된 참고 문서에는 "목표 엔티티(ResetEntity)에 닿으면 모든 파티클 삭제"하는 예제는 있지만, "같은 엔티티에 다시 닿으면 해당 파티클 삭제"하는 토글 로직에 대한 구체적인 예제는 없습니다. 따라서 `TriggerEnterEvent`와 `_ParticleService` API의 사용 방법(문서 5단계의 코드)을 근거로, 각 엔티티별로 파티클 생성 시리얼(serial) [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 반복 재생되는 파티클을 생성하거나 삭제하는 방법을 알아봅시다. 특정 엔티티에 캐릭터가 닿으면 파티클이 생성되다가 캐릭터가 목표 지점에 도착하면 파티클 생성이 멈추는 예제를 만들어보겠습니다. 1. 파티클을 뿜어낼 엔티티와 목표 엔티티를 배치합니다. 본 예제에서는 파티클을 뿜어낼 엔티티로 **object-24**(호리병)을, 목표 엔티티로는 **object-928**(소화기)를 사용했습니다. 2. 배치한 모든 엔티티에 TriggerComponent를 추가합니다. 3. Workspace - MyDesk에 새

[task] | single_turn [pass] | ⏳ 미판정 [title] | UI 디자인 가이드 [question] | 화면 우측 상단에 고정되어 있는 메이플스토리 월드 기본 UI와 겹치지 않도록 디자인하려면 어떤 점을 주의해야 하나요? [answer] | 메이플스토리 월드의 화면 우측 상단에는 위치를 이동하거나 숨길 수 없는 기본 UI가 항상 표시됩니다. 따라서 월드의 커스텀 UI를 디자인할 때는 이 기본 UI 영역을 가리지 않도록 주의해야 합니다. 구체적으로 다음과 같은 점을 고려해야 합니다: 1. **기본 UI 영역 회피**: 화면 우측 상단 공간에는 자체 제작한 버튼, 텍스트, 아이콘 등을 배치하지 않아야 합니다. 기본 UI가 커스텀 UI를 덮어 가리면 유저가 원하는 정보를 확인하거나 조작할 수 없게 됩니다. 2. **레이아웃 설계 시 고려**: UI 레이아웃을 구성할 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 월드를 제작할 때 User Interface(UI)는 필수 요소입니다. UI는 유저에게 플레이 관련 정보를 명확하고 간결하게 제공해야 합니다. 점수, 체력, 남은 시간, 각종 버튼 같은 UI 요소가 잘 디자인되어 있다면 유저는 직관적으로 월드를 이해하고 재미있게 플레이할 수 있을 것입니다. 유저는 메이플스토리 월드를 PC 및 모바일 환경에서 두루 플레이할 수 있습니다. 그러므로 크리에이터는 다양한 환경에서 불편함이 없도록 UI를 디자인해야 합니다. 물론 월드 콘셉트에도 맞고, 시각적으로 눈길을 사로잡는 디자인을

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 아바타 애니메이션 제어하기 [question] | 프레임값이 잘못 입력된 경우의 보정 과정을 단계별 번호 목록으로 설명하세요. [answer] | 프레임값이 잘못 입력된 경우, 시스템은 입력된 값이 애니메이션의 총 프레임 범위와 양수 조건을 충족하는지 확인하여 자동으로 보정합니다. 구체적인 보정 과정은 다음과 같습니다. 1. **시작 프레임(StartFrameIndex)이 음수인 경우**: 프레임은 양수로 설정되어야 하므로, 입력된 시작 프레임이 음수(예: -1)라면 자동으로 `0`으로 보정됩니다. 2. **종료 프레임(EndFrameIndex)이 총 프레임보다 큰 경우**: 종료 프레임은 해당 애니메이션의 총 프레임 수보다 작거나 같아야 합니다. 입력된 종료 프레임이 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 각 애니메이션의 총 프레임은 **AvatarItem Editor**에서 확인할 수 있습니다. 위와 같이 총 프레임을 확인한 뒤, 크리에이터가 재생하기를 원하는 애니메이션 시작 프레임(StartFrameIndex)과 종료 프레임(EndFrameIndex)을 설정하면 됩니다. 프레임을 설정할 때는 다음 사항을 주의해야 합니다. * 프레임은 양수로 설정해야 합니다. * 시작 프레임은 종료 프레임보다 작거나 같아야 합니다. * 종료 프레임은 총 애니메이션 프레임보다 작거나 같아야 합니다. * 프레임값을 잘못 설정하면 보정됩니다. *

[task] | two_turn [pass] | ⏳ 미판정 [title] | 사다리와 로프 활용하기 [question] | ClimbableComponent의 SpeedFactor와 AllowHorizontalMove 프로퍼티를 조합하여 등반 속도와 이동 범위를 자유롭게 조절하려면 어떻게 설정해야 하나요? [answer] | ClimbableComponent의 등반 속도와 이동 범위를 조절하려면 `SpeedFactor`와 `AllowHorizontalMove` 프로퍼티를 다음과 같이 설정하면 됩니다. 1. **등반 속도 조절 (`SpeedFactor`)** - `SpeedFactor`는 등반 시 X, Y축 속력에 곱해지는 가중치입니다. - 값이 클수록 캐릭터의 이동 속력이 빨라집니다. - 예를 들어, 기본 속도를 유지하려면 `1`로, 더 빠르게 등반하려면 `2` 이상의 값을 설정할 수 있습니다. 2. **이동 범위 조절 (`Allow [followup] | SpeedFactor 값을 변경했을 때 X, Y축 속력에 미치는 구체적인 영향과, AllowHorizontalMove가 true일 때 캐릭터가 수직 이동 외에 어떤 축의 이동을 허용받는지 코드 예시 없이 설명해 주세요. [followup_answer] | SpeedFactor와 AllowHorizontalMove 프로퍼티의 구체적인 영향은 다음과 같습니다. **1. SpeedFactor가 X, Y축 속력에 미치는 영향** SpeedFactor는 등반 시 캐릭터의 X축과 Y축 속력에 곱해지는 가중치입니다. 이 값은 등반 중 캐릭터가 이동하는 모든 축의 속도에 균일하게 적용됩니다. * **값이 클수록**: X축과 Y축의 이동 속력이 모두 빨라집니다. * **값이 작을수록**: X축과 Y축의 이동 속력이 모두 느려집니다. 즉, SpeedFactor를 조정하면 캐릭터가 사다리나 [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 캐릭터가 사다리나 로프를 타면 수직으로 올라갈 수 있습니다. 이는 사다리나 로프의 동작과 연관된 **ClimbableComponent**가 있기 때문입니다. 이 컴포넌트를 활용하면 사다리, 로프뿐만 아니라 다른 오브젝트에서도 등반할 수 있습니다. 또한 크리에이터가 원하는 대로 등반 영역이나 등반 속도를 조절할 수 있습니다. 관련된 컴포넌트로 **ClimbableSpriteRendererComponent**도 있습니다. 이 컴포넌트는 사다리나 로프와 같이 머리, 몸통, 꼬리 형태의 스프라이트를 그리기 위한 용도로

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 아바타 애니메이션 제어하기 [question] | ActionSheet의 Value와 MapleAvatarBodyActionState의 매핑 관계 중 'hit'과 'alert' 항목만 표로 정리하세요. [answer] | ActionSheet의 Value와 MapleAvatarBodyActionState의 매핑 관계 중 'hit'과 'alert' 항목은 다음과 같습니다. | ActionSheet Value | MapleAvatarBodyActionState | |:---:|:---:| | hit | Hit | | alert | Alert | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 이미 정의된, 혹은 새로 정의할 아바타의 상태가 바뀔 때마다 매번 이벤트를 보내서 애니메이션을 변경하는 것도 번거로울 수 있습니다. 이벤트를 보내지 않고도 아바타 상태가 바뀔 때마다 애니메이션도 함께 변경되면 매우 편리할 것입니다. [AvatarStateAnimationComponent](/apiReference/Components/AvatarStateAnimationComponent)의 **ActionSheet**에 아바타 상태와 연결될 애니메이션을 설정하고 [StateComponent](/apiReference/Component

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 아바타 애니메이션 제어하기 [question] | ActionSheet의 기본 매핑을 Key와 Value가 일치하는 행만 추출하여 3문장 이내로 설명하세요. [answer] | 기본 ActionSheet에서 Key와 Value가 일치하는 행은 IDLE, ATTACK, HIT, CROUCH, CLIMB, LADDER, DEAD, SIT입니다. 이 매핑은 아바타의 상태 이름과 동일한 MapleAvatarBodyActionState 이름을 애니메이션으로 설정하는 것을 의미합니다. 예를 들어 ATTACK 상태가 되면 attack 애니메이션이 재생되며, SIT 상태가 되면 sit 애니메이션이 재생됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 이미 정의된, 혹은 새로 정의할 아바타의 상태가 바뀔 때마다 매번 이벤트를 보내서 애니메이션을 변경하는 것도 번거로울 수 있습니다. 이벤트를 보내지 않고도 아바타 상태가 바뀔 때마다 애니메이션도 함께 변경되면 매우 편리할 것입니다. [AvatarStateAnimationComponent](/apiReference/Components/AvatarStateAnimationComponent)의 **ActionSheet**에 아바타 상태와 연결될 애니메이션을 설정하고 [StateComponent](/apiReference/Component

[task] | two_turn [pass] | ⏳ 미판정 [title] | UI 디자인 가이드 [question] | UI 텍스트 가독성을 높이기 위한 폰트 크기 권장 사항과 배경 대비 원칙은 무엇인가요? [answer] | 메이플스토리 월드 UI 텍스트의 가독성을 높이기 위한 권장 사항과 배경 대비 원칙은 다음과 같습니다. ### 1. 폰트 크기 권장 사항 모바일 환경에서의 가독성을 고려하여 폰트 크기를 설정해야 합니다. * **일반적 권장 크기:** **24pt 이상**을 권장합니다. * **최소 허용 크기:** 정보량이 많아 폰트 크기를 줄여야 하는 경우에도 **최소 18pt 이상**으로 설정하는 것이 좋습니다. * **확인 방법:** PC와 모바일 환경 모두에서 실제 가독성을 확인하며 UI를 제작하는 것이 좋습니다. ### 2. [followup] | 정보량이 많은 RPG 장르에서 폰트 크기를 줄여야 할 때 최소 허용 크기와 배경 색상 대비 설정 방법은 어떻게 되나요? [followup_answer] | 정보량이 많은 RPG 장르에서 폰트 크기를 줄여야 하는 경우와 배경 색상 대비 설정 방법은 다음과 같습니다. ### 1. 최소 허용 폰트 크기 정보량이 많아 폰트 크기를 줄여야 하는 상황일지라도 **최소 18pt 이상**으로 설정하는 것이 좋습니다. * 일반적인 권장 크기는 24pt 이상이지만, 글씨가 너무 작아지면 가독성이 떨어지므로 18pt를 하한선으로 지켜야 합니다. * 제작 과정에서 PC와 모바일 환경 모두에서 실제 가독성을 확인하며 UI를 만드는 것이 권장됩니다. ### 2. 배경 색상 대비 설정 방법 텍스트가 [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 월드를 제작할 때 User Interface(UI)는 필수 요소입니다. UI는 유저에게 플레이 관련 정보를 명확하고 간결하게 제공해야 합니다. 점수, 체력, 남은 시간, 각종 버튼 같은 UI 요소가 잘 디자인되어 있다면 유저는 직관적으로 월드를 이해하고 재미있게 플레이할 수 있을 것입니다. 유저는 메이플스토리 월드를 PC 및 모바일 환경에서 두루 플레이할 수 있습니다. 그러므로 크리에이터는 다양한 환경에서 불편함이 없도록 UI를 디자인해야 합니다. 물론 월드 콘셉트에도 맞고, 시각적으로 눈길을 사로잡는 디자인을

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 아바타 애니메이션 제어하기 [question] | StateComponent로 상태를 변경할 때 발생하는 단점을 단계별 번호 목록으로 정리하세요. [answer] | StateComponent로 상태를 변경하여 애니메이션을 제어할 때 발생하는 단점은 다음과 같습니다. 1. 애니메이션의 시작과 끝 프레임을 직접 선택하거나 조절할 수 없습니다. 2. 기본 또는 사용자가 정의한 상태 변경 조건이 존재하면, 해당 조건에 따라 상태가 자동으로 변경될 수 있습니다. 이로 인해 원하는 애니메이션이 출력되기 전에 상태가 이미 변경되어 버릴 수 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 이미 정의된, 혹은 새로 정의할 아바타의 상태가 바뀔 때마다 매번 이벤트를 보내서 애니메이션을 변경하는 것도 번거로울 수 있습니다. 이벤트를 보내지 않고도 아바타 상태가 바뀔 때마다 애니메이션도 함께 변경되면 매우 편리할 것입니다. [AvatarStateAnimationComponent](/apiReference/Components/AvatarStateAnimationComponent)의 **ActionSheet**에 아바타 상태와 연결될 애니메이션을 설정하고 [StateComponent](/apiReference/Component

[task] | single_turn [pass] | ⏳ 미판정 [title] | 아바타 애니메이션 제어하기 [question] | PlayRate 값을 키우면 아바타 애니메이션의 재생 속도는 어떻게 변화하나요? [answer] | PlayRate 값을 키우면 아바타 애니메이션의 재생 속도가 빨라집니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **ActionStateChangedEvent**는 **ActionName**으로 어떤 애니메이션을 재생할지 결정합니다. 아래는 **ActionName**의 목록입니다. |@cols=4:@rows=1:ActionName| |:---:|:---:|:---:|:---:| | stand1 | swingO1 | stabO1 | shoot1 | | stand2 | swingO2 | stabO2 | shoot2 | | walk1 | swingO3 | stabOF | shootF | | walk2 | swingOF | stabT1 | | |

[task] | single_turn [pass] | ⏳ 미판정 [title] | 아바타 애니메이션 제어하기 [question] | CoreActionName과 PartsActionName 중 하나라도 비워두면 애니메이션이 정상 출력되지 않는 이유는 무엇인가요? [answer] | 아바타의 애니메이션은 몸통(Core)과 파츠(Parts)의 움직임이 정확히 동기화되어야 자연스럽게 보입니다. `ActionStateChangedEvent`를 보낼 때 `CoreActionName`과 `PartsActionName`은 각각 몸통 액션과 파츠 액션의 이름을 지정하는 필수 정보입니다. 이 두 값 중 하나라도 비워두면, 몸통과 파츠가 어떤 애니메이션 클립을 재생해야 하는지 시스템이 알 수 없거나, 양쪽이 서로 다른 상태에 머물러 애니메이션이 끊기거나 정상적으로 출력되지 않습니다. 따라서 애니메이션이 정상적으로 출력되려면 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 각 애니메이션의 총 프레임은 **AvatarItem Editor**에서 확인할 수 있습니다. 위와 같이 총 프레임을 확인한 뒤, 크리에이터가 재생하기를 원하는 애니메이션 시작 프레임(StartFrameIndex)과 종료 프레임(EndFrameIndex)을 설정하면 됩니다. 프레임을 설정할 때는 다음 사항을 주의해야 합니다. * 프레임은 양수로 설정해야 합니다. * 시작 프레임은 종료 프레임보다 작거나 같아야 합니다. * 종료 프레임은 총 애니메이션 프레임보다 작거나 같아야 합니다. * 프레임값을 잘못 설정하면 보정됩니다. *

[task] | single_turn [pass] | ⏳ 미판정 [title] | 아바타 애니메이션 제어하기 [question] | GetBodyEntity 메서드를 사용하지 않고 직접 엔티티에 ActionStateChangedEvent를 보내면 애니메이션이 재생되지 않는 이유는 무엇인가요? [answer] | `ActionStateChangedEvent`는 아바타의 **body** 엔티티를 통해 처리되도록 설계되어 있기 때문입니다. 따라서 이벤트는 반드시 `self.Entity.AvatarRendererComponent:GetBodyEntity()`로 가져온 body 엔티티에 `SendEvent`로 전달해야 정상적으로 애니메이션이 재생됩니다. 스크립트가 붙어 있는 엔티티(아바타 루트 엔티티 등)에 직접 보내는 경우, 이벤트가 body 컴포넌트에 전달되지 않아 애니메이션이 동작하지 않습니다. 정상적인 사용 방법은 다음과 같습니다. ` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 각 애니메이션의 총 프레임은 **AvatarItem Editor**에서 확인할 수 있습니다. 위와 같이 총 프레임을 확인한 뒤, 크리에이터가 재생하기를 원하는 애니메이션 시작 프레임(StartFrameIndex)과 종료 프레임(EndFrameIndex)을 설정하면 됩니다. 프레임을 설정할 때는 다음 사항을 주의해야 합니다. * 프레임은 양수로 설정해야 합니다. * 시작 프레임은 종료 프레임보다 작거나 같아야 합니다. * 종료 프레임은 총 애니메이션 프레임보다 작거나 같아야 합니다. * 프레임값을 잘못 설정하면 보정됩니다. *

[task] | single_turn [pass] | ⏳ 미판정 [title] | 아바타 애니메이션 제어하기 [question] | StartFrameIndex에 음수를 입력하거나 EndFrameIndex에 총 프레임을 초과하는 값을 넣으면 시스템이 어떻게 처리하나요? [answer] | 프레임 값이 유효하지 않게 설정되면 시스템이 자동으로 값을 보정합니다. 구체적으로 다음과 같이 처리됩니다: * **StartFrameIndex**에 음수를 입력하면 **0**으로 보정됩니다. * **EndFrameIndex**에 애니메이션의 총 프레임 수보다 큰 값을 입력하면, **총 프레임 수**로 보정됩니다. 예를 들어, 총 프레임이 3인 상태에서 `ActionStateChangedEvent`를 생성할 때 `StartFrameIndex`로 -1, `EndFrameIndex`로 4를 입력하면, 시스템은 이를 각각 0과 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 각 애니메이션의 총 프레임은 **AvatarItem Editor**에서 확인할 수 있습니다. 위와 같이 총 프레임을 확인한 뒤, 크리에이터가 재생하기를 원하는 애니메이션 시작 프레임(StartFrameIndex)과 종료 프레임(EndFrameIndex)을 설정하면 됩니다. 프레임을 설정할 때는 다음 사항을 주의해야 합니다. * 프레임은 양수로 설정해야 합니다. * 시작 프레임은 종료 프레임보다 작거나 같아야 합니다. * 종료 프레임은 총 애니메이션 프레임보다 작거나 같아야 합니다. * 프레임값을 잘못 설정하면 보정됩니다. *

[task] | code [pass] | ⏳ 미판정 [title] | MSW 단축키 [question] | 제시된 문서에는 메이커(Maker)의 단축키 사용법만 포함되어 있으며, mLua 스크립트 언어의 API(컴포넌트, 서비스, 이벤트 핸들러 등)에 대한 정보가 전혀 없습니다. 따라서 문서에 나온 API로 해결할 수 있는 mLua 코딩 과제를 만들 수 없습니다. [answer] | 제시된 참고 문서에는 메이플스토리 월드 메이커(Maker) 편집기에서 사용하는 키보드 단축키 목록만 포함되어 있습니다. mLua 스크립트 언어의 API(컴포넌트, 서비스, 이벤트 핸들러 등)나 코딩 과제에 대한 정보는 문서에 존재하지 않습니다. 따라서 요청하신 대로 문서에 기반하여 mLua 코딩 과제를 만들 수 없습니다. 대신 문서에 명시된 메이커 단축키 정보를 정리해 드리겠습니다. ### 메이플스토리 월드 메이커(Maker) 단축키 #### 기본 편집 | 단축키 | 액션 | 설명 | | :--- | :--- | :--- | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | | 단축키 | 액션 | 설명 | | --- | --- | --- | | `Tab` | 들여쓰기 | 캐럿 위치에서 들여쓰기 합니다. | | `Shift` + `Tab` | 내어 쓰기 | 캐럿 위치에서 내어 쓰기 합니다. | | `Home` | 앞 | 선택한 줄의 맨 앞으로 캐럿을 이동합니다. | | `End` | 뒤 | 선택한 줄의 맨 뒤로 캐럿을 이동합니다. | | `PageUp` | 코드 블록 최상단 | 선택한 코드 블록의 최상단으로 이동합니다. | | `PageDown` | 코드 블록 최하단 | 선택한 코드 블록의 최하단으로 이

[task] | single_turn [pass] | ⏳ 미판정 [title] | 아바타 애니메이션 제어하기 [question] | 애니메이션이 순서대로 반복 재생되지 않고 순행 후 역행으로 반복되려면 PlayType에 어떤 값을 설정해야 하나요? [answer] | 순행 후 역행 순서로 반복 재생하려면 `PlayType`에 `SpriteAnimClipPlayType.ZigzagLoop` 값을 설정해야 합니다. `ActionStateChangedEvent`를 생성할 때 해당 값을 전달하는 예제는 다음과 같습니다. ```lua local body = self.Entity.AvatarRendererComponent:GetBodyEntity() local event = ActionStateChangedEvent("walk1", "walk1", 1, SpriteAnimClipPlayType.Zigz [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **ActionStateChangedEvent**는 **ActionName**으로 어떤 애니메이션을 재생할지 결정합니다. 아래는 **ActionName**의 목록입니다. |@cols=4:@rows=1:ActionName| |:---:|:---:|:---:|:---:| | stand1 | swingO1 | stabO1 | shoot1 | | stand2 | swingO2 | stabO2 | shoot2 | | walk1 | swingO3 | stabOF | shootF | | walk2 | swingOF | stabT1 | | |

← → 방향키로 페이지 이동 · 숫자 입력 후 Enter로 점프