← 목록

mLua · Nemotron-CC 리프레이즈 (CPT)

총 8,200개 · 페이지 188/274
🔀 랜덤
불러오는 중…

[task] | extract_knowledge [title] | 스크린샷 촬영 및 공유하기 [category] | Guides [rephrased] | # 일부 화면 스크린샷 촬영 및 저장 ## 개념 설명 mLua 환경에서는 `_ScreenshotService`를 사용하여 화면의 특정 영역(일부 화면)을 캡처할 수 있습니다. 전체 화면이 아닌 좌표 범위로 정의된 영역만 촬영하여 포토 라이브러리에 저장하는 기능을 제공합니다. ## API 사용법 일부 화면을 캡처하기 위해 `_ScreenshotService:CaptureScreenRegionToPhotoLibraryAndWait` 메서드를 사용합니다. * **메서드**: `_ScreenshotService:CaptureScr [original] | 버튼을 눌러 일부 화면 스크린샷을 촬영해 봅시다. 1. **FullScreenBtn** 버튼의 콘텍스트 메뉴에서 **Duplicate**를 클릭해 버튼을 복제한 뒤 적당한 위치로 옮깁니다. 2. 복제한 버튼의 이름을 **PartialScreenBtn**으로 변경합니다. **Text**에는 **Partial Screen Capture**를 입력합니다. 3. 스크립트 에디터에서 **ScreenshotServiceTest**를 열고 이벤트 핸들러에 `ButtonClickEvent`를 추가합니다. 이벤트 센 [chunk_id] | Guides:756:2

[task] | knowledge_list [title] | 스크린샷 촬영 및 공유하기 [category] | Guides [rephrased] | ```lua -- 아래는 문서에 포함된 핵심 사실 목록입니다. ``` 1. 모바일 환경에서만 스크린샷 공유 기능이 지원되며, PC 환경에서는 스크린샷 공유를 수행할 수 없다. 2. `FullScreenBtn` 버튼의 콘텍스트 메뉴에서 `Duplicate`를 클릭하여 버튼을 복제한 후, 복제된 버튼을 원하는 위치에 배치한다. 3. 복제된 버튼의 이름은 `ShareBtn`으로 변경하고, 버튼의 `Text` 속성값에는 `Share`를 입력한다. 4. 스크립트 에디터에서 `ScreenshotServiceTest`를 열어서 `FullScr [original] | 모바일에서 스크린샷 공유하는 방법을 살펴봅시다. 단, PC에서는 공유할 수 없습니다. 1. **FullScreenBtn** 버튼의 콘텍스트 메뉴에서 **Duplicate**를 클릭해 버튼을 복제한 뒤 적당한 위치로 옮깁니다. 2. 복제한 버튼의 이름을 **ShareBtn**으로 변경합니다. **Text**에는 **Share**를 입력합니다. 3. 스크립트 에디터에서 **ScreenshotServiceTest**를 열고 **FullScreenBtn**에 연결한 이벤트를 찾습니다. `CaptureFullScre [chunk_id] | Guides:756:3

[task] | distill [title] | 물리 사용하기 [category] | Guides [rephrased] | # 충돌 물리 사용하기 메이플스토리 월드의 맵과 엔티티에 물리 법칙을 적용하는 방법을 안내합니다. 충돌 반사, 포물선 운동, Joint를 통한 연결 움직임 등을 구현할 수 있습니다. ## 1. 맵에 물리 법칙 적용하기 기본 맵에는 물리 법칙이 적용되지 않습니다. 물리 기능을 사용하려면 맵에 반드시 **PhysicsSimulatorComponent**를 추가해야 합니다. * **Gravity**: 중력 방향과 강도를 설정합니다. * `x`, `y` 값으로 방향을 조절합니다 (예: `x` 음수 = 왼쪽 중력, `y [original] | # 학습 과정 소개 메이플스토리 월드의 맵과 엔티티에 물리 법칙 적용 방법을 알아봅시다. 물리 법칙을 활용해 엔티티가 서로 충돌해 튕기거나, 포물선 운동을 하며 날아가거나, 엔티티가 서로 연결되어 움직이게 하는 등 물리를 활용한 움직임을 다양하게 만들어낼 수 있습니다. [엔티티의 충돌](/docs?postId=175)과 [충돌 그룹 만들기](/docs?postId=754)를 함께 학습하길 권장합니다. # 맵에 물리 법칙 적용하기 기본 맵은 메이플스토리 맵 구성과 이동 원칙을 따르므로 물리 법칙은 기본 적용되어 있지 않습니다. [chunk_id] | Guides:757:0

[task] | distill [title] | SideViewRectTile모드로 맵 만들기 [category] | Guides [rephrased] | # SideViewRectTile 모드: 횡스크롤 맵 제작 RectTileMapComponent와 KinematicbodyComponent는 탑다운뷰에 적합하며, 횡스크롤 게임에는 **SideViewRectTile** 모드를 사용해야 합니다. 이 모드는 RectTileMap 기반의 횡스크롤 이동, 점프, 타일 충돌을 지원합니다. ## 모드 전환 1. **Hierarchy**: 맵 엔티티 우클릭 > `Switch To SideViewRectTileMap` 2. **타일 에디터**: 상단 타일 에디터 버튼 장시간 누르기 > `Sid [original] | # 학습 과정 소개 RectTileMapComponent와 KinematicbodyComponent는 탑다운뷰 게임 제작에는 적합하지만 횡스크롤 게임 제작에는 적합하지 않습니다. SideViewRectTile 모드는 RectTileMap을 활용해 손쉽게 횡스크롤 게임을 제작할 수 있도록 횡스크롤 방식의 이동, 점프, 타일과의 충돌 등을 지원합니다. 이번 시간에는 SideViewRectTile 모드에 대해 알아보고 맵을 제작해봅시다. > **더 알아보기** > SideViewRectTile 모드는 RectTile 모드를 기반으로 [chunk_id] | Guides:758:0

[task] | knowledge_list [title] | 물리 사용하기 [category] | Guides [rephrased] | 제공된 문서의 내용을 바탕으로 메이플스토리 월드(mLua)의 충돌 물리 관련 핵심 사실을 정리한 목록입니다. * 맵에 물리 법칙을 적용하려면 해당 맵 엔티티에 `PhysicsSimulatorComponent`를 반드시 추가해야 하며, 기본 맵에는 물리 법칙이 적용되어 있지 않습니다. * `PhysicsSimulatorComponent`의 `Gravity` 프로퍼티를 통해 맵의 중력 방향과 힘을 설정할 수 있으며, `x` 값이 음수이면 왼쪽, `y` 값이 양수이면 위로 작용하는 중력을 생성할 수 있습니다. * `Physi [original] | # 학습 과정 소개 메이플스토리 월드의 맵과 엔티티에 물리 법칙 적용 방법을 알아봅시다. 물리 법칙을 활용해 엔티티가 서로 충돌해 튕기거나, 포물선 운동을 하며 날아가거나, 엔티티가 서로 연결되어 움직이게 하는 등 물리를 활용한 움직임을 다양하게 만들어낼 수 있습니다. [엔티티의 충돌](/docs?postId=175)과 [충돌 그룹 만들기](/docs?postId=754)를 함께 학습하길 권장합니다. # 맵에 물리 법칙 적용하기 기본 맵은 메이플스토리 맵 구성과 이동 원칙을 따르므로 물리 법칙은 기본 적용되어 있지 않습니다. [chunk_id] | Guides:757:0

[task] | knowledge_list [title] | SideViewRectTile모드로 맵 만들기 [category] | Guides [rephrased] | 1. `RectTileMapComponent`와 `KinematicbodyComponent`는 탑다운뷰 게임 제작에는 적합하지만, 횡스크롤 게임 제작에는 적합하지 않습니다. 2. `SideViewRectTile` 모드는 `RectTileMap`을 기반으로 하며, 횡스크롤 방식의 이동, 점프, 타일과의 충돌 등을 지원하여 횡스크롤 게임 제작을 지원합니다. 3. 맵 타일 모드를 `SideViewRectTile`로 변경하는 첫 번째 방법은 `Hierarchy`에서 현재 편집 중인 맵 엔티티를 선택한 뒤, 우클릭 메뉴에서 **Switch [original] | # 학습 과정 소개 RectTileMapComponent와 KinematicbodyComponent는 탑다운뷰 게임 제작에는 적합하지만 횡스크롤 게임 제작에는 적합하지 않습니다. SideViewRectTile 모드는 RectTileMap을 활용해 손쉽게 횡스크롤 게임을 제작할 수 있도록 횡스크롤 방식의 이동, 점프, 타일과의 충돌 등을 지원합니다. 이번 시간에는 SideViewRectTile 모드에 대해 알아보고 맵을 제작해봅시다. > **더 알아보기** > SideViewRectTile 모드는 RectTile 모드를 기반으로 [chunk_id] | Guides:758:0

[task] | distill [title] | SideViewRectTileMap에서 캐릭터 이동 제어 [category] | Guides [rephrased] | # SideViewRectTileMap에서 캐릭터 이동 제어 (SideviewbodyComponent) `SideViewRectTile` 모드로 제작된 맵에서 `DefaultPlayer`의 횡스크롤 이동을 제어하는 컴포넌트입니다. `RigidbodyComponent`, `KinematicbodyComponent`와 함께 기본 제공되며, 맵 모드에 따라 활성화되는 이동 주체가 자동 전환됩니다. ## 프로퍼티 | 프로퍼티 | 타입 | 설명 | | :--- | :--- | :--- | | `Enable` | `boolean` | 컴 [original] | # 학습 과정 소개 DefaultPlayer에는 RigidbodyComponent, KinematicbodyComponent, SideviewbodyComponent가 모두 포함되어 있기 때문에 맵이 제작된 모드에 따라 자동으로 이동 제어의 주체가 달라집니다. 그중 SideViewRectTile 모드로 제작된 맵에서는 SideviewbodyComponent로 캐릭터의 이동을 제어합니다. 이번 시간에는 SideviewbodyComponent에 대해 알아보고 간단한 예제를 통해 활용법을 살펴봅시다. ##### 참고 API Refe [chunk_id] | Guides:759:0

[task] | diverse_qa [title] | 스크린샷 촬영 및 공유하기 [category] | Guides [rephrased] | 질문: PC 환경에서 모바일 스크린샷 공유 기능이 사용 가능한가요? 답변: 아니요, PC에서는 스크린샷 공유가 불가능합니다. 질문: 스크린샷 공유 기능을 구현하기 위해 처음에 어떤 UI 요소를 복제해야 하나요? 답변: FullScreenBtn 버튼의 콘텍스트 메뉴에서 Duplicate를 클릭하여 버튼을 복제해야 합니다. 질문: 복제한 버튼의 이름과 Text 속성에 각각 무엇을 입력해야 하나요? 답변: 복제한 버튼의 이름을 ShareBtn으로 변경하고, Text에는 Share를 입력해야 합니다. 질문: ScreenshotServ [original] | 모바일에서 스크린샷 공유하는 방법을 살펴봅시다. 단, PC에서는 공유할 수 없습니다. 1. **FullScreenBtn** 버튼의 콘텍스트 메뉴에서 **Duplicate**를 클릭해 버튼을 복제한 뒤 적당한 위치로 옮깁니다. 2. 복제한 버튼의 이름을 **ShareBtn**으로 변경합니다. **Text**에는 **Share**를 입력합니다. 3. 스크립트 에디터에서 **ScreenshotServiceTest**를 열고 **FullScreenBtn**에 연결한 이벤트를 찾습니다. `CaptureFullScre [chunk_id] | Guides:756:3

[task] | knowledge_list [title] | SideViewRectTileMap에서 캐릭터 이동 제어 [category] | Guides [rephrased] | 제공된 문서에 기반하여 추출한 핵심 사실 목록입니다. **참고:** 제공된 원문에는 '2단 점프 구현하기'라는 소제목만 존재하며, 실제 코드 예제나 구체적인 API 호출 방법은 포함되지 않았습니다. 따라서 아래 목록에는 문서에 명시된 사실(컴포넌트 개요, 프로퍼티 정의)만 포함됩니다. * `SideViewRectTile` 모드로 제작된 맵에서는 `DefaultPlayer`에 포함된 컴포넌트 중 `SideviewbodyComponent`가 캐릭터의 횡스크롤 방식 이동 제어를 담당합니다. * `DefaultPlayer`에는 [original] | # 학습 과정 소개 DefaultPlayer에는 RigidbodyComponent, KinematicbodyComponent, SideviewbodyComponent가 모두 포함되어 있기 때문에 맵이 제작된 모드에 따라 자동으로 이동 제어의 주체가 달라집니다. 그중 SideViewRectTile 모드로 제작된 맵에서는 SideviewbodyComponent로 캐릭터의 이동을 제어합니다. 이번 시간에는 SideviewbodyComponent에 대해 알아보고 간단한 예제를 통해 활용법을 살펴봅시다. ##### 참고 API Refe [chunk_id] | Guides:759:0

[task] | diverse_qa [title] | SideViewRectTile모드로 맵 만들기 [category] | Guides [rephrased] | 질문: RectTileMapComponent와 KinematicbodyComponent는 어떤 게임 제작 방식에 적합합니까? 답변: RectTileMapComponent와 KinematicbodyComponent는 탑다운뷰 게임 제작에는 적합하지만 횡스크롤 게임 제작에는 적합하지 않습니다. 질문: SideViewRectTile 모드의 주요 목적은 무엇입니까? 답변: SideViewRectTile 모드는 RectTileMap을 활용해 손쉽게 횡스크롤 게임을 제작할 수 있도록 횡스크롤 방식의 이동, 점프, 타일과의 충돌 등을 지원하기 [original] | # 학습 과정 소개 RectTileMapComponent와 KinematicbodyComponent는 탑다운뷰 게임 제작에는 적합하지만 횡스크롤 게임 제작에는 적합하지 않습니다. SideViewRectTile 모드는 RectTileMap을 활용해 손쉽게 횡스크롤 게임을 제작할 수 있도록 횡스크롤 방식의 이동, 점프, 타일과의 충돌 등을 지원합니다. 이번 시간에는 SideViewRectTile 모드에 대해 알아보고 맵을 제작해봅시다. > **더 알아보기** > SideViewRectTile 모드는 RectTile 모드를 기반으로 [chunk_id] | Guides:758:0

[task] | knowledge_list [title] | SideViewRectTileMap에서 캐릭터 이동 제어 [category] | Guides [rephrased] | * 캐릭터의 이동은 `SideviewbodyComponent`의 `MoveVelocity` 속성을 통해 제어됩니다. * `DoubleJump` 스크립트 컴포넌트는 `MyDesk` 아래에 생성된 후 `DefaultPlayer` 엔티티에 추가됩니다. * `IsDoubleJumping`은 동기화되지 않는 `[None]` 속성으로, 기본값은 `false`이며 2단 점프 수행 여부의 상태 변수로 사용됩니다. * `TryDoubleJump` 메서드는 `[client only]` 실행 공간에서 동작하며, `SideviewbodyC [original] | 캐릭터의 이동은 `MoveVelocity`를 통해 제어합니다. `MoveVelocity`를 통해 간단한 2단 점프 기능을 만들어봅시다. 1. MyDesk 아래에 새 스크립트 컴포넌트 DoubleJump를 만든 뒤, DefaultPlayer에 추가합니다. 2. 아래와 같이 DoubleJump에 `IsDoubleJumping` 프로퍼티와 `TryDoubleJump` 함수를 추가합니다. ```lua Property: [None] boolean IsDoubleJumping = false [chunk_id] | Guides:759:1

[task] | wikipedia [title] | 스크린샷 촬영 및 공유하기 [category] | Guides [rephrased] | # 모바일 스크린샷 촬영 및 공유 이 문서는 모바일 환경에서 게임 로직을 통해 스크린샷을 촬영하고 외부로 공유하는 방법을 설명한다. 해당 기능은 모바일 플랫폼에서만 지원되며, PC 환경에서는 사용할 수 없다. 구현 과정은 크게 두 단계로 나뉜다. 첫째, 전 화면을 촬영하여 파일 경로로 저장하는 기능을 수정하는 것이며, 둘째, 저장된 파일을 모바일 공유 서비스로 전달하는 버튼을 생성하는 것이다. ## 1. 전 화면 촬영 기능 수정 기본 제공되는 `FullScreenBtn` 버튼을 복제하여 공유 기능용 버튼의 원형으로 사용한다. [original] | 모바일에서 스크린샷 공유하는 방법을 살펴봅시다. 단, PC에서는 공유할 수 없습니다. 1. **FullScreenBtn** 버튼의 콘텍스트 메뉴에서 **Duplicate**를 클릭해 버튼을 복제한 뒤 적당한 위치로 옮깁니다. 2. 복제한 버튼의 이름을 **ShareBtn**으로 변경합니다. **Text**에는 **Share**를 입력합니다. 3. 스크립트 에디터에서 **ScreenshotServiceTest**를 열고 **FullScreenBtn**에 연결한 이벤트를 찾습니다. `CaptureFullScre [chunk_id] | Guides:756:3

[task] | extract_knowledge [title] | SideViewRectTile모드로 맵 만들기 [category] | Guides [rephrased] | # SideViewRectTile 모드 맵 제작 ## 개념 설명 `RectTileMapComponent`와 `KinematicbodyComponent`는 탑다운 뷰(Top-down view) 게임 제작에 적합하지만, 횡스크롤(Side-scrolling) 게임에는 적합하지 않습니다. `SideViewRectTile` 모드는 `RectTileMap`을 기반으로 하며, 횡스크롤 방식의 이동, 점프, 타일과의 충돌 처리 등을 지원하여 횡스크롤 게임을 제작할 수 있도록 돕습니다. ## API 및 에디터 사용법 `SideViewRectTi [original] | # 학습 과정 소개 RectTileMapComponent와 KinematicbodyComponent는 탑다운뷰 게임 제작에는 적합하지만 횡스크롤 게임 제작에는 적합하지 않습니다. SideViewRectTile 모드는 RectTileMap을 활용해 손쉽게 횡스크롤 게임을 제작할 수 있도록 횡스크롤 방식의 이동, 점프, 타일과의 충돌 등을 지원합니다. 이번 시간에는 SideViewRectTile 모드에 대해 알아보고 맵을 제작해봅시다. > **더 알아보기** > SideViewRectTile 모드는 RectTile 모드를 기반으로 [chunk_id] | Guides:758:0

[task] | wikipedia [title] | SideViewRectTileMap에서 캐릭터 이동 제어 [category] | Guides [rephrased] | # SideViewRectTile 맵에서의 캐릭터 이동 제어 `SideViewRectTileMap` 환경에서 캐릭터의 이동을 제어하는 방법과 `SideviewbodyComponent`의 특성에 대한 기술 문서입니다. ## 개요 `DefaultPlayer` 엔티티에는 `RigidbodyComponent`, `KinematicbodyComponent`, `SideviewbodyComponent`가 기본적으로 포함되어 있습니다. 맵이 제작된 모드에 따라 캐릭터 이동 제어의 주체가 자동으로 결정되며, `SideViewRectTile` [original] | # 학습 과정 소개 DefaultPlayer에는 RigidbodyComponent, KinematicbodyComponent, SideviewbodyComponent가 모두 포함되어 있기 때문에 맵이 제작된 모드에 따라 자동으로 이동 제어의 주체가 달라집니다. 그중 SideViewRectTile 모드로 제작된 맵에서는 SideviewbodyComponent로 캐릭터의 이동을 제어합니다. 이번 시간에는 SideviewbodyComponent에 대해 알아보고 간단한 예제를 통해 활용법을 살펴봅시다. ##### 참고 API Refe [chunk_id] | Guides:759:0

[task] | diverse_qa [title] | 물리 사용하기 [category] | Guides [rephrased] | 질문: 메이플스토리 월드에서 맵에 물리 법칙을 적용하기 위해 반드시 추가해야 하는 컴포넌트는 무엇인가요? 답변: 해당 맵에 PhysicsSimulatorComponent를 추가해야 합니다. 질문: PhysicsSimulatorComponent의 Gravity 프로퍼티를 통해 설정할 수 있는 중력의 방향과 힘을 결정하는 값은 무엇인가요? 답변: Gravity의 x, y 값에 따라 맵의 중력 방향과 힘이 달라집니다. 질문: 중력이 왼쪽 방향으로 작용하는 맵을 만들려면 Gravity의 x 값을 어떻게 설정해야 하나요? 답변: x 값을 [original] | # 학습 과정 소개 메이플스토리 월드의 맵과 엔티티에 물리 법칙 적용 방법을 알아봅시다. 물리 법칙을 활용해 엔티티가 서로 충돌해 튕기거나, 포물선 운동을 하며 날아가거나, 엔티티가 서로 연결되어 움직이게 하는 등 물리를 활용한 움직임을 다양하게 만들어낼 수 있습니다. [엔티티의 충돌](/docs?postId=175)과 [충돌 그룹 만들기](/docs?postId=754)를 함께 학습하길 권장합니다. # 맵에 물리 법칙 적용하기 기본 맵은 메이플스토리 맵 구성과 이동 원칙을 따르므로 물리 법칙은 기본 적용되어 있지 않습니다. [chunk_id] | Guides:757:0

[task] | diverse_qa [title] | SideViewRectTileMap에서 캐릭터 이동 제어 [category] | Guides [rephrased] | 질문: DefaultPlayer에는 어떤 물리 컴포넌트들이 포함되어 있나요? 답변: DefaultPlayer에는 RigidbodyComponent, KinematicbodyComponent, SideviewbodyComponent가 모두 포함되어 있습니다. 질문: SideViewRectTile 모드로 제작된 맵에서 캐릭터 이동을 제어하는 주체는 무엇인가요? 답변: SideViewRectTile 모드로 제작된 맵에서는 SideviewbodyComponent로 캐릭터의 이동을 제어합니다. 질문: SideviewbodyComponen [original] | # 학습 과정 소개 DefaultPlayer에는 RigidbodyComponent, KinematicbodyComponent, SideviewbodyComponent가 모두 포함되어 있기 때문에 맵이 제작된 모드에 따라 자동으로 이동 제어의 주체가 달라집니다. 그중 SideViewRectTile 모드로 제작된 맵에서는 SideviewbodyComponent로 캐릭터의 이동을 제어합니다. 이번 시간에는 SideviewbodyComponent에 대해 알아보고 간단한 예제를 통해 활용법을 살펴봅시다. ##### 참고 API Refe [chunk_id] | Guides:759:0

[task] | wikipedia [title] | SideViewRectTile모드로 맵 만들기 [category] | Guides [rephrased] | # SideViewRectTile 모드로 맵 만들기 SideViewRectTile 모드는 `RectTileMapComponent`와 `KinematicbodyComponent`가 탑다운뷰(Top-down view) 게임에는 적합하나 횡스크롤(Side-scrolling) 게임에는 적합하지 않다는 한계를 보완하기 위해 도입되었습니다. 이 모드는 기존 `RectTileMap`의 인프라를 활용하되, 횡스크롤 게임 제작에 필수적인 이동, 점프, 타일 충돌 처리 등을 지원함으로써 개발 효율을 높입니다. 본 가이드에서는 SideViewRect [original] | # 학습 과정 소개 RectTileMapComponent와 KinematicbodyComponent는 탑다운뷰 게임 제작에는 적합하지만 횡스크롤 게임 제작에는 적합하지 않습니다. SideViewRectTile 모드는 RectTileMap을 활용해 손쉽게 횡스크롤 게임을 제작할 수 있도록 횡스크롤 방식의 이동, 점프, 타일과의 충돌 등을 지원합니다. 이번 시간에는 SideViewRectTile 모드에 대해 알아보고 맵을 제작해봅시다. > **더 알아보기** > SideViewRectTile 모드는 RectTile 모드를 기반으로 [chunk_id] | Guides:758:0

[task] | distill [title] | SideViewRectTileMap에서 캐릭터 이동 제어 [category] | Guides [rephrased] | **SideViewRectTileMap 캐릭터 이동 제어: 2단 점프 구현** 캐릭터 이동은 `SideviewbodyComponent`의 `MoveVelocity` 속성을 통해 제어합니다. 아래는 `DoubleJump` 컴포넌트를 이용해 2단 점프 기능을 구현하는 예제입니다. ### 1. 프로퍼티 및 메서드 `IsDoubleJumping` 플래그는 2단 점프 가능 여부를 관리하며, `TryDoubleJump`는 조건 충족 시 Y축 속도를 변경합니다. ```lua Property: [None] boolean IsDoubleJum [original] | 캐릭터의 이동은 `MoveVelocity`를 통해 제어합니다. `MoveVelocity`를 통해 간단한 2단 점프 기능을 만들어봅시다. 1. MyDesk 아래에 새 스크립트 컴포넌트 DoubleJump를 만든 뒤, DefaultPlayer에 추가합니다. 2. 아래와 같이 DoubleJump에 `IsDoubleJumping` 프로퍼티와 `TryDoubleJump` 함수를 추가합니다. ```lua Property: [None] boolean IsDoubleJumping = false [chunk_id] | Guides:759:1

[task] | wikipedia [title] | 물리 사용하기 [category] | Guides [rephrased] | # 메이플스토리 월드의 충돌 물리 시스템 메이플스토리 월드(MapleStory Worlds)의 스크립트 환경인 mLua를 활용하여 맵과 엔티티에 물리 법칙을 적용하는 방법은 다음과 같다. 물리 시뮬레이션을 통해 엔티티 간의 충돌 반발, 포물선 운동, 그리고 엔티티 간 연결된 움직임 등 다양한 물리적 상호작용을 구현할 수 있다. 보다 심화된 학습을 위해 '엔티티의 충돌' 및 '충돌 그룹 만들기' 문서를 함께 참조하는 것이 권장된다. ## 맵에 물리 법칙 적용하기 메이플스토리 월드의 기본 맵은 기존 메이플스토리의 맵 구성과 이동 [original] | # 학습 과정 소개 메이플스토리 월드의 맵과 엔티티에 물리 법칙 적용 방법을 알아봅시다. 물리 법칙을 활용해 엔티티가 서로 충돌해 튕기거나, 포물선 운동을 하며 날아가거나, 엔티티가 서로 연결되어 움직이게 하는 등 물리를 활용한 움직임을 다양하게 만들어낼 수 있습니다. [엔티티의 충돌](/docs?postId=175)과 [충돌 그룹 만들기](/docs?postId=754)를 함께 학습하길 권장합니다. # 맵에 물리 법칙 적용하기 기본 맵은 메이플스토리 맵 구성과 이동 원칙을 따르므로 물리 법칙은 기본 적용되어 있지 않습니다. [chunk_id] | Guides:757:0

[task] | diverse_qa [title] | SideViewRectTileMap에서 캐릭터 이동 제어 [category] | Guides [rephrased] | 질문: 이 문서의 예제에서는 어떤 게임 콘셉트를 구현하기 위해 `MoveVelocity`를 응용하고 있습니까? 답변: 눈과 얼음이 가득한 필드라는 콘셉트에 맞게 가속도와 마찰력 개념을 추가하여 미끄러운 길을 걷는 듯한 움직임을 구현하고 있습니다. 질문: `CustomPlayerController` 스크립트 컴포넌트를 생성한 후 어디에 추가해야 하는가? 답변: `DefaultPlayer`에 추가해야 합니다. 질문: `CustomPlayerController`에 추가된 프로퍼티 중 `InputDirection`의 타입과 기본값은 무 [original] | `MoveVelocity`를 응용하면 크리에이터가 의도하는 게임의 콘셉트에 맞게 캐릭터의 움직임을 만들어낼 수 있습니다. 이번 예제에서는 눈과 얼음이 가득한 필드라는 콘셉트에 맞게 가속도와 마찰력 개념을 추가해 미끄러운 길을 걷는 듯한 움직임을 만들어보겠습니다. 1. MyDesk 아래에 새 스크립트 컴포넌트 CustomPlayerController를 만든 뒤, DefaultPlayer에 추가합니다. 2. CustomPlayerController를 연 뒤, 아래와 같이 프로퍼티를 추가합니다. ```lua [chunk_id] | Guides:759:2

[task] | extract_knowledge [title] | 스크린샷 촬영 및 공유하기 [category] | Guides [rephrased] | # 모바일 스크린샷 촬영 및 공유 ## 1. 개념 설명 mLua 환경에서는 `_ScreenshotService`를 사용하여 현재 화면을 캡처하고, `_MobileShareService`를 사용하여 해당 파일을 공유할 수 있습니다. 이 기능은 **모바일 플랫폼에서만** 지원되며, PC 환경에서는 동작하지 않습니다. 캡처된 파일 경로는 임시 변수에 저장되어 이후 공유 서비스 호출 시 사용됩니다. ## 2. API 사용법 ### 2.1 UI 컴포넌트 설정 1. 기존 `FullScreenBtn` 버튼을 복제(Duplicate)하여 ` [original] | 모바일에서 스크린샷 공유하는 방법을 살펴봅시다. 단, PC에서는 공유할 수 없습니다. 1. **FullScreenBtn** 버튼의 콘텍스트 메뉴에서 **Duplicate**를 클릭해 버튼을 복제한 뒤 적당한 위치로 옮깁니다. 2. 복제한 버튼의 이름을 **ShareBtn**으로 변경합니다. **Text**에는 **Share**를 입력합니다. 3. 스크립트 에디터에서 **ScreenshotServiceTest**를 열고 **FullScreenBtn**에 연결한 이벤트를 찾습니다. `CaptureFullScre [chunk_id] | Guides:756:3

[task] | wikipedia [title] | SideViewRectTileMap에서 캐릭터 이동 제어 [category] | Guides [rephrased] | **이동 SideViewRectTileMap에서 캐릭터 이동 제어** `SideViewRectTileMap` 환경에서의 캐릭터 이동은 `MoveVelocity` 속성을 통해 제어됩니다. 본 가이드에서는 `MoveVelocity`를 활용하여 2단 점프(double jump) 기능을 구현하는 방법을 단계별로 설명합니다. 구현을 위해 `MyDesk` 뷰에서 `DoubleJump`라는 이름의 새 스크립트 컴포넌트를 생성한 뒤, `DefaultPlayer` 엔티티에 해당 컴포넌트를 추가합니다. 이후 `DoubleJump` 컴포넌트에 2 [original] | 캐릭터의 이동은 `MoveVelocity`를 통해 제어합니다. `MoveVelocity`를 통해 간단한 2단 점프 기능을 만들어봅시다. 1. MyDesk 아래에 새 스크립트 컴포넌트 DoubleJump를 만든 뒤, DefaultPlayer에 추가합니다. 2. 아래와 같이 DoubleJump에 `IsDoubleJumping` 프로퍼티와 `TryDoubleJump` 함수를 추가합니다. ```lua Property: [None] boolean IsDoubleJumping = false [chunk_id] | Guides:759:1

[task] | knowledge_list [title] | SideViewRectTileMap에서 캐릭터 이동 제어 [category] | Guides [rephrased] | 제공된 문서 내용을 바탕으로 추출한 핵심 사실 목록입니다. ```lua 1. 스크립트 컴포넌트 `CustomPlayerController`는 `MyDesk` 아래에서 생성되어 `DefaultPlayer` 엔티티에 추가되어야 합니다. 2. 프로퍼티 `InputDirection`은 `[None]` 동기화 속성을 가진 `Vector2` 타입이며, 기본값은 `Vector2(0,0)`입니다. 3. 프로퍼티 `IsJumpKeyPressed`는 `[None]` 동기화 속성을 가진 `boolean` 타입이며, 기본값은 `false`입니다. 4. [original] | `MoveVelocity`를 응용하면 크리에이터가 의도하는 게임의 콘셉트에 맞게 캐릭터의 움직임을 만들어낼 수 있습니다. 이번 예제에서는 눈과 얼음이 가득한 필드라는 콘셉트에 맞게 가속도와 마찰력 개념을 추가해 미끄러운 길을 걷는 듯한 움직임을 만들어보겠습니다. 1. MyDesk 아래에 새 스크립트 컴포넌트 CustomPlayerController를 만든 뒤, DefaultPlayer에 추가합니다. 2. CustomPlayerController를 연 뒤, 아래와 같이 프로퍼티를 추가합니다. ```lua [chunk_id] | Guides:759:2

[task] | knowledge_list [title] | SideViewRectTileMap에서 캐릭터 이동 제어 [category] | Guides [rephrased] | 제공된 원문 기반 핵심 사실 목록: 1. 입력 처리 이벤트 핸들러에서 `key == KeyboardKey.DownArrow` 조건이 참이면 `self.InputDirection.y` 값을 1 증가시키고, `self.IsCrouchKeyPressed` 속성을 `false`로 설정한다. 2. 입력 처리 이벤트 핸들러에서 `key == KeyboardKey.LeftAlt` 또는 `key == KeyboardKey.Space` 조건이 참이면 `self.IsJumpKeyPressed` 속성을 `false`로 설정한다. 3. 캐릭터 이동 계 [original] | row then self.InputDirection.y = self.InputDirection.y - 1 end if key == KeyboardKey.DownArrow then self.InputDirection.y = self.InputDirection.y + 1 self.IsCrouchKeyPressed = false end if key == KeyboardKey.LeftAlt or key == Keyboa [chunk_id] | Guides:759:3

[task] | distill [title] | SideViewRectTileMap에서 캐릭터 이동 제어 [category] | Guides [rephrased] | # SideViewRectTileMap에서 캐릭터 이동 제어 (CustomPlayerController) `MoveVelocity`를 활용해 가속도와 마찰력을 적용하여 미끄러운 지형(눈/얼음) 특유의 움직임을 구현하는 예제입니다. ## 1. 구성 및 프로퍼티 `DefaultPlayer`에 `CustomPlayerController` 스크립트 컴포넌트를 추가합니다. ```lua Property: [None] Vector2 InputDirection = Vector2(0,0) [None] boolean IsJumpKeyPresse [original] | `MoveVelocity`를 응용하면 크리에이터가 의도하는 게임의 콘셉트에 맞게 캐릭터의 움직임을 만들어낼 수 있습니다. 이번 예제에서는 눈과 얼음이 가득한 필드라는 콘셉트에 맞게 가속도와 마찰력 개념을 추가해 미끄러운 길을 걷는 듯한 움직임을 만들어보겠습니다. 1. MyDesk 아래에 새 스크립트 컴포넌트 CustomPlayerController를 만든 뒤, DefaultPlayer에 추가합니다. 2. CustomPlayerController를 연 뒤, 아래와 같이 프로퍼티를 추가합니다. ```lua [chunk_id] | Guides:759:2

[task] | knowledge_list [title] | SideViewRectTileMap에서 캐릭터 이동 제어 [category] | Guides [rephrased] | 1. `SignOf` 함수는 매개변수 `number value`를 받아 값이 0 이상이면 1, 그 외에는 -1을 반환하는 순수 계산 함수입니다. 2. `UpdateVelocity` 함수는 매개변수 `number delta`를 받아 `self.Entity.SideviewbodyComponent`의 `MoveVelocity` 속성을 참조하여, `self.InputDirection.x`가 0일 경우 `self:GetDrag()` 값과 부호를 이용해 감속 처리하고 부호가 바뀌면 속도를 0으로 초기화하며, 입력이 있을 경우 `self:Get [original] | 7. 유저의 키 입력이 없을 때는 감속하고 키 입력이 있을 때는 가속하도록 설정해봅시다. 아래와 같이 `UpdateVelocity` 함수와 `SignOf` 함수를 추가합니다. ```lua number SignOf(number value) { if value >= 0 then return 1 else return -1 end } void UpdateVelocity(number delta) [chunk_id] | Guides:759:4

[task] | distill [title] | SideViewRectTileMap에서 캐릭터 이동 제어 [category] | Guides [rephrased] | ### SideViewRectTileMap 이동 제어: 가속도 및 마찰력 지형 위 캐릭터 이동을 위해 가속도(Accel)와 마찰력(Drag) 기반 물리 계산을 적용합니다. 조작감 개선을 위해 **지면**과 **공중** 상태에 따라 적용할 값을 분리합니다. #### 1. 프로퍼티 정의 이동 물리 상수를 정의합니다. ```lua Property: [None] number MaxSpeed = 4 -- 최대 속도 [None] number Accel = 10 -- 지면 가속도 [None] number Drag = 8 -- 지면 마찰력 [original] | row then self.InputDirection.y = self.InputDirection.y - 1 end if key == KeyboardKey.DownArrow then self.InputDirection.y = self.InputDirection.y + 1 self.IsCrouchKeyPressed = false end if key == KeyboardKey.LeftAlt or key == Keyboa [chunk_id] | Guides:759:3

[task] | diverse_qa [title] | SideViewRectTileMap에서 캐릭터 이동 제어 [category] | Guides [rephrased] | 질문: `SideViewRectTileMap`에서 캐릭터의 이동을 제어하는 주요 속성은 무엇인가요? 답변: 캐릭터의 이동은 `MoveVelocity`를 통해 제어합니다. 질문: 문서에서 예시로 사용한 2단 점프 스크립트 컴포넌트의 이름은 무엇이며, 어디에 추가해야 하나요? 답변: 스크립트 컴포넌트의 이름은 `DoubleJump`이며, `MyDesk` 아래에 만든 뒤 `DefaultPlayer`에 추가해야 합니다. 질문: `IsDoubleJumping` 프로퍼티의 초기값과 데이터 타입은 무엇인가요? 답변: `IsDoubleJump [original] | 캐릭터의 이동은 `MoveVelocity`를 통해 제어합니다. `MoveVelocity`를 통해 간단한 2단 점프 기능을 만들어봅시다. 1. MyDesk 아래에 새 스크립트 컴포넌트 DoubleJump를 만든 뒤, DefaultPlayer에 추가합니다. 2. 아래와 같이 DoubleJump에 `IsDoubleJumping` 프로퍼티와 `TryDoubleJump` 함수를 추가합니다. ```lua Property: [None] boolean IsDoubleJumping = false [chunk_id] | Guides:759:1

[task] | extract_knowledge [title] | 물리 사용하기 [category] | Guides [rephrased] | # 물리 시뮬레이션 구성 및 적용 ## 1. 개념 설명 메이플스토리 월드에서 물리 법칙을 적용하기 위해 맵 레벨의 시뮬레이터와 엔티티 레벨의 강체(Rigidbody) 및 충돌체(Collider)를 설정해야 합니다. 1. **PhysicsSimulatorComponent**: 맵에 물리 환경을 정의하는 컴포넌트입니다. 중력(Gravity)의 방향과 세기를 제어합니다. 기본 맵에는 물리 법칙이 적용되지 않으므로, 물리 효과를 사용하려면 반드시 해당 맵에 이 컴포넌트를 추가해야 합니다. 2. **PhysicsInteractabl [original] | # 학습 과정 소개 메이플스토리 월드의 맵과 엔티티에 물리 법칙 적용 방법을 알아봅시다. 물리 법칙을 활용해 엔티티가 서로 충돌해 튕기거나, 포물선 운동을 하며 날아가거나, 엔티티가 서로 연결되어 움직이게 하는 등 물리를 활용한 움직임을 다양하게 만들어낼 수 있습니다. [엔티티의 충돌](/docs?postId=175)과 [충돌 그룹 만들기](/docs?postId=754)를 함께 학습하길 권장합니다. # 맵에 물리 법칙 적용하기 기본 맵은 메이플스토리 맵 구성과 이동 원칙을 따르므로 물리 법칙은 기본 적용되어 있지 않습니다. [chunk_id] | Guides:757:0

[task] | wikipedia [title] | SideViewRectTileMap에서 캐릭터 이동 제어 [category] | Guides [rephrased] | **이동 SideViewRectTileMap에서 캐릭터 이동 제어** 이 문서는 `SideViewRectTileMap` 환경에서 `MoveVelocity` 속성을 활용하여 캐릭터의 이동을 제어하는 방법에 대해 설명합니다. `MoveVelocity`를 응용하면 크리에이터가 의도하는 게임 콘셉트에 맞는 독특한 움직임 메커니즘을 구현할 수 있습니다. 본 예제는 눈과 얼음이 뒤덮인 필드라는 콘셉트를 바탕으로, 가속도와 마찰력의 개념을 도입하여 미끄러운 지면을 걷는 듯한 물리 효과를 적용하는 과정을 다룹니다. 구현을 위해 `MyDesk` [original] | `MoveVelocity`를 응용하면 크리에이터가 의도하는 게임의 콘셉트에 맞게 캐릭터의 움직임을 만들어낼 수 있습니다. 이번 예제에서는 눈과 얼음이 가득한 필드라는 콘셉트에 맞게 가속도와 마찰력 개념을 추가해 미끄러운 길을 걷는 듯한 움직임을 만들어보겠습니다. 1. MyDesk 아래에 새 스크립트 컴포넌트 CustomPlayerController를 만든 뒤, DefaultPlayer에 추가합니다. 2. CustomPlayerController를 연 뒤, 아래와 같이 프로퍼티를 추가합니다. ```lua [chunk_id] | Guides:759:2

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