← 목록

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

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

[task] | wikipedia [title] | 월드 좌표와 스크린 좌표 [category] | Guides [rephrased] | # 월드 좌표와 스크린 좌표 메이플스토리 월드(Worlds)에서 PC와 모바일 기기의 화면 해상도와 비율은 월드의 캔버스(Canbus) 좌표계와 스크린 좌표계 간의 변환 방식을 결정하는 핵심 요소입니다. ## PC 환경에서의 좌표 처리 PC에서 메이플스토리 월드를 실행할 때 사용자는 창 크기를 자유롭게 변경할 수 있습니다. 다만, 창 크기를 변경하더라도 화면의 종횡비(Aspect Ratio)는 항상 16:9로 고정됩니다. 이러한 비율 유지 정책 덕분에 화면에 표시되는 영역은 비율에 비례하여 균일하게 확대되거나 축소됩니다. 다 [original] | PC를 사용하는 메이플스토리 월드 유저는 창 크기를 변경할 수 있습니다. 그러나 창 크기를 변경해도 창의 화면 비율은 16:9로 유지됩니다. 비율이 유지되므로 화면의 보이는 영역이 비율에 비례해 확대/축소됩니다. 단, 창이 전체 화면인 경우 모니터의 화면 비율에 따라 가로 영역이 더 많이 보이거나 더 적게 보이게 됩니다. 예를 들어 창 크기가 1920x1080일 때와 3840x2160일 때 모두 화면은 동일하게 보입니다. | 1920x1080| 3840x2160 | | ---| --- | | ![[object Object]](h [chunk_id] | Guides:688:1

[task] | extract_knowledge [title] | 월드 좌표와 스크린 좌표 [category] | Guides [rephrased] | # 1. 개념 설명 메이플스토리 월드(MapleStory Worlds)는 **월드 공간(World Space)** 과 **스크린 공간(Screen Space)** 이라는 두 가지 독립된 좌표계를 사용합니다. 1. **월드 좌표 (World Coordinates)** * `Hierarchy - world - map` 내 3D 공간의 위치를 나타냅니다. * **원점**: 맵의 중앙입니다. * 엔티티의 `TransformComponent.WorldPosition` 값이 이 좌표를 가집니다. 2. [original] | # 학습 과정 소개 메이플스토리 월드의 월드 공간과 스크린 공간이 존재합니다. 각 공간에서는 서로 다른 좌표계를 사용합니다. 두 공간에서 사용하는 좌표계에 대해 알아봅시다. # 월드 공간 월드 공간이란 Hierarchy - world - map의 공간을 의미합니다. ## 월드 좌표 월드 좌표는 맵에서의 특정 위치 값입니다. 맵에 배치된 엔티티의`TransformComponent.WorldPosition` 값이 월드 좌표입니다. 월드 좌표의 원점은 맵의 중앙입니다. 예를 들어 아래 이미지와 같이 **분수 Entity**는 월 [chunk_id] | Guides:688:0

[task] | extract_knowledge [title] | 엔티티의 상태 제어하기 [category] | Guides [rephrased] | # 게임 로직 엔티티의 상태 제어: 상태 전이 조건 및 이벤트 처리 본 절에서는 `StateComponent`를 이용하여 게임 로직 엔티티(예: 상자)의 상태 전이 조건을 설정하고, 상태 변경 시 발생하는 이벤트를 처리하여 시각적 효과와 로직을 제어하는 방법을 다룹니다. ## 1. 개념 설명 `StateComponent`는 엔티티의 상태를 관리하며, 상태 간 전이(Transition)를 제어합니다. * **상태 전이 조건 (Condition Check)**: 특정 상태로 전이되기 전, `OnConditionCheck` 메서 [original] | ```lua boolean OnConditionCheck(string nextStateName) { return self.exitFlag } void OnExit() { self.ParentComponent.Entity.SpriteRendererComponent.SpriteRUID = "b871399ae18d41c4b76c2ae79feefa7d" --IDLE RUID _TimerService:ClearTimer(self.timerId) } [chunk_id] | Guides:686:4

[task] | wikipedia [title] | 아틀라스 활용하기 [category] | Guides [rephrased] | # 아틀라스 언패커 활용 가이드 메이플스토리 월드(MapleStory Worlds)에서는 한 장의 이미지에 여러 스프라이트가 함께 배치된 아틀라스(Atlas) 이미지를 크리에이터가 개별 스프라이트로 분리하여 활용할 수 있도록 **아틀라스 언패커(Atlas Unpacker)** 도구를 제공합니다. 이 도구를 통해 크리에이터는 아틀라스를 필요한 규격으로 자르고 편집한 후, 결과물을 리소스 스토리지(Resource Storage)에 저장하거나 타일 데이터 세트(TileDataSet)로 바로 변환하여 렉트타일(RectTile)이나 애니메 [original] | # 학습 과정 소개 아틀라스를 필요한 규격으로 잘라 다양하게 활용할 수 있습니다. 아틀라스 언패커의 구성과 사용 방법을 알아봅시다. # 아틀라스 언패커 소개 아틀라스란 한 장의 이미지에 여러 개의 스프라이트가 함께 있는 이미지를 의미합니다. 아틀라스의 이미지를 잘라 렉트타일로 사용하는 등 다양하게 활용할 수 있습니다. 아틀라스 언패커는 아틀라스를 크리에이터가 개별의 스프라이트로 자르고 편집해 저장할 수 있습니다. 자른 스프라이트 중 필요한 것만 선택해 Resource Storage에 저장한 뒤 사용하거나, 바로 TileData [chunk_id] | Guides:687:0

[task] | extract_knowledge [title] | 엔티티의 상태 제어하기 [category] | Guides [rephrased] | # 게임 로직 엔티티의 상태 제어하기 ## 1. 개념 설명 mLua 환경에서는 `StateComponent`를 통해 엔티티의 상태를 관리할 수 있습니다. 기본으로 제공되는 `IDLE`, `DEAD` 상태 외에 크리에이터가 커스텀 상태(예: `BROKEN`)를 정의하여 상태 전이 로직을 구현할 수 있습니다. 본 절에서는 플레이어의 공격을 받아 상태가 변하는 나무 상자(`Model_Box`)와 사과(`Model_Apple`)를 예로 들어, 상태별로 다른 스프라이트(`SpriteRUID`)를 적용하고, 특정 타이밍에 자식 엔티티를 [original] | 플레이어의 공격에 상태가 변하는 나무 상자를 만들어봅시다. 기본 상태인 IDLE, DEAD와 크리에이터가 만든 새로운 BROKEN 상태를 함께 활용합니다. 상태마다의 특정 애니메이션, 스프라이트를 추가해 상태 변화를 직관적으로 확인할 수 있습니다. 이 예시는 IDLE → BROKEN → DEAD → IDLE로 상태 전이하며, 상태마다 다른 스프라이트, 애니메이션을 연결해 재생하게 됩니다. >**Tip.** >만들기 - 새로 만들기 - **기본** 템플릿을 사용해 플레이어의 기본 공격, 피격을 구성합니다. 해당 템플릿의 D [chunk_id] | Guides:686:3

[task] | diverse_qa [title] | 월드 좌표와 스크린 좌표 [category] | Guides [rephrased] | 질문: Anchor의 '상단 왼쪽 끝' 옵션은 UI를 어디에 배치합니까? 답변: 상단 왼쪽 끝을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. 질문: Anchor의 '정중앙' 옵션은 UI를 어디에 배치합니까? 답변: 정중앙을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. 질문: Anchor의 '하단 오른쪽 끝' 옵션은 UI를 어디에 배치합니까? 답변: 하단 오른쪽 끝을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. 질문: Anchor의 '중앙 왼쪽 끝' 옵션은 UI를 [original] | | Anchor | 설명 | | --- | --- | | | 상단 왼쪽 끝을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 상단 중앙을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 상단 오른쪽 끝을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 중앙 왼쪽 끝을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 정중앙을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 중 [chunk_id] | Guides:688:2

[task] | diverse_qa [title] | 월드 좌표와 스크린 좌표 [category] | Guides [rephrased] | 질문: 기기마다 해상도와 Safe Area가 달라 UI 좌표로 위치를 고정했을 때 발생할 수 있는 문제는 무엇인가요? 답변: 기기에 따라 UI의 일부가 잘려 보이거나, 보이지 않을 수 있습니다. 질문: 모든 기기의 Safe Area를 확인하여 UI 위치를 일일이 지정하는 방식이 효율적인가요? 답변: 아닙니다. 효율적인 제작 방식이 아닙니다. 질문: 다양한 해상도에 대응하여 UI를 배치하기 위해 권장되는 기준은 무엇인가요? 답변: UI의 특정 지점을 기준으로 얼마나 떨어져 있을 것인지와 같은 상대적 거리를 기준으로 배치해야 합니다 [original] | 기기마다 해상도와 Safe Area가 다르므로 UI 좌표로 UI 위치를 결정할 경우 기기에 따라 UI의 일부가 잘려 보이거나, 보이지 않을 수 있습니다. 모든 기기의 Safe Area를 확인해 UI 위치를 일일이 지정하는 것은 효율적인 제작 방식이 아니므로 UI의 특정 지점을 기준으로 얼마나 떨어져 있을 것인지와 같은 다른 기준으로 UI를 배치해야 합니다. UI 좌표에 맞추어 UI를 배치했을 발생하는 문제를 살펴봅시다. UI는 **스크린 해상도**의 변화에 따라 위치가 달라지게 됩니다. 크리에이터가 버튼 하나를 Anchor를 정 [chunk_id] | Guides:688:3

[task] | distill [title] | TimeSpan으로 시간 표현하기 [category] | Guides [rephrased] | # TimeSpan으로 시간 표현하기 `TimeSpan`은 특정 시점과 무관한 **시간 간격**을 나타냅니다. 연도/월 등 가변 단위 표현이 불가하며, 스테이지 소요 시간 계산이나 데이터 스토리지 저장에 사용됩니다. ## 생성자 (Constructors) 시간 단위는 큰 단위부터 작은 순서로 입력합니다. * `TimeSpan(int elapsed)`: 밀리초 단위 정수로 초기화 * `TimeSpan(int hours, int minutes, int seconds)`: 시:분:초 * `TimeSpan(int days, [original] | # 학습 과정 소개 DateTime을 활용하기 위해선 TimeSpan을 이용해야 합니다. 초, 분, 시간의 단위를 나타냅니다. # TimeSpan 소개 TimeSpan은 시간 간격을 나타냅니다. 특정 시작점 또는 끝점에 대한 참조 없이 일반적인 간격만을 나타내므로 어떠한 가변적인 연도와 월 단위로 표현할 수 없습니다. TimeSpan은 특정 시점으로부터 다른 특정 시점까지의 시간을 계산할 때 사용할 수 있습니다. 어떤 스테이지를 통과하는 데 걸린 시간을 구하고 싶거나, 시간을 데이터 스토리지에 저장하기 위해 사용할 수 있습니다 [chunk_id] | Guides:689:0

[task] | extract_knowledge [title] | 월드 좌표와 스크린 좌표 [category] | Guides [rephrased] | # 월드 좌표와 스크린 좌표 ## 1. 개념 설명 메이플스토리 월드의 화면 렌더링은 **16:9**의 화면 비율을 기준으로 하며, 이를 통해 다양한 해상도와 기기 환경에서 일관된 사용자 경험을 제공합니다. * **PC 환경:** * 창 크기를 변경하더라도 화면 비율은 항상 16:9로 유지됩니다. * 해상도 변화(예: 1920x1080, 3840x2160)에 따라 보이는 영역이 비율에 비례하여 확대/축소되며, 동일한 시각적 구성을 유지합니다. * 전체 화면 모드에서는 모니터의 실제 화면 비율에 [original] | PC를 사용하는 메이플스토리 월드 유저는 창 크기를 변경할 수 있습니다. 그러나 창 크기를 변경해도 창의 화면 비율은 16:9로 유지됩니다. 비율이 유지되므로 화면의 보이는 영역이 비율에 비례해 확대/축소됩니다. 단, 창이 전체 화면인 경우 모니터의 화면 비율에 따라 가로 영역이 더 많이 보이거나 더 적게 보이게 됩니다. 예를 들어 창 크기가 1920x1080일 때와 3840x2160일 때 모두 화면은 동일하게 보입니다. | 1920x1080| 3840x2160 | | ---| --- | | ![[object Object]](h [chunk_id] | Guides:688:1

[task] | diverse_qa [title] | TimeSpan으로 시간 표현하기 [category] | Guides [rephrased] | 질문: TimeSpan은 무엇을 나타내며, 어떤 단위를 사용하는가? 답변: TimeSpan은 시간 간격을 나타내며, 초, 분, 시간의 단위를 나타냅니다. 질문: TimeSpan은 가변적인 연도나 월 단위로 표현할 수 있는가? 답변: 아니오, TimeSpan은 특정 시작점 또는 끝점에 대한 참조 없이 일반적인 간격만을 나타내므로 어떠한 가변적인 연도와 월 단위로 표현할 수 없습니다. 질문: TimeSpan을 사용하여 구할 수 있는 구체적인 예시 두 가지를 서술하시오. 답변: 어떤 스테이지를 통과하는 데 걸린 시간을 구하거나, 시간 [original] | # 학습 과정 소개 DateTime을 활용하기 위해선 TimeSpan을 이용해야 합니다. 초, 분, 시간의 단위를 나타냅니다. # TimeSpan 소개 TimeSpan은 시간 간격을 나타냅니다. 특정 시작점 또는 끝점에 대한 참조 없이 일반적인 간격만을 나타내므로 어떠한 가변적인 연도와 월 단위로 표현할 수 없습니다. TimeSpan은 특정 시점으로부터 다른 특정 시점까지의 시간을 계산할 때 사용할 수 있습니다. 어떤 스테이지를 통과하는 데 걸린 시간을 구하고 싶거나, 시간을 데이터 스토리지에 저장하기 위해 사용할 수 있습니다 [chunk_id] | Guides:689:0

[task] | extract_knowledge [title] | 아틀라스 활용하기 [category] | Guides [rephrased] | # 스프라이트/애니메이션 아틀라스 활용하기 ## 1. 개념 설명 **아틀라스(Atlas)** 는 한 장의 이미지 파일에 여러 개의 개별 스프라이트(Sprite)가 포함된 이미지입니다. 메이플스토리 월드에서는 `Atlas Unpacker` 도구를 사용하여 이 아틀라스를 개별 스프라이트로 분리(언패킹)하고, 편집하여 저장합니다. `Atlas Unpacker`를 통해 생성된 개별 스프라이트는 다음과 두 가지 용도로 활용됩니다. 1. **Resource Storage 저장**: 개별 이미지 파일로 저장하여 일반 스프라이트 컴포넌트 [original] | # 학습 과정 소개 아틀라스를 필요한 규격으로 잘라 다양하게 활용할 수 있습니다. 아틀라스 언패커의 구성과 사용 방법을 알아봅시다. # 아틀라스 언패커 소개 아틀라스란 한 장의 이미지에 여러 개의 스프라이트가 함께 있는 이미지를 의미합니다. 아틀라스의 이미지를 잘라 렉트타일로 사용하는 등 다양하게 활용할 수 있습니다. 아틀라스 언패커는 아틀라스를 크리에이터가 개별의 스프라이트로 자르고 편집해 저장할 수 있습니다. 자른 스프라이트 중 필요한 것만 선택해 Resource Storage에 저장한 뒤 사용하거나, 바로 TileData [chunk_id] | Guides:687:0

[task] | wikipedia [title] | 월드 좌표와 스크린 좌표 [category] | Guides [rephrased] | # 메이플스토리 월드의 좌표계: 월드 좌표와 스크린 좌표 메이플스토리 월드(MapleStory Worlds)의 개발 환경은 3차원 공간을 표현하는 **월드 공간(World Space)**과 2차원 화면을 표현하는 **스크린 공간(Screen Space)**으로 구분됩니다. 두 공간은 각각 다른 좌표계를 사용하며, 스크립트를 작성하거나 엔티티를 배치할 때 이 차이를 정확히 이해하는 것이 중요합니다. ## 1. 월드 공간과 월드 좌표 월드 공간은 에디터의 Hierarchy 패널에서 `world` > `map` 하위 구조를 의미하는 [original] | # 학습 과정 소개 메이플스토리 월드의 월드 공간과 스크린 공간이 존재합니다. 각 공간에서는 서로 다른 좌표계를 사용합니다. 두 공간에서 사용하는 좌표계에 대해 알아봅시다. # 월드 공간 월드 공간이란 Hierarchy - world - map의 공간을 의미합니다. ## 월드 좌표 월드 좌표는 맵에서의 특정 위치 값입니다. 맵에 배치된 엔티티의`TransformComponent.WorldPosition` 값이 월드 좌표입니다. 월드 좌표의 원점은 맵의 중앙입니다. 예를 들어 아래 이미지와 같이 **분수 Entity**는 월 [chunk_id] | Guides:688:0

[task] | knowledge_list [title] | 월드 좌표와 스크린 좌표 [category] | Guides [rephrased] | 제공된 원문에는 **Anchor**의 동작 방식에 대한 설명만 존재하며, 구체적인 **API 이름(함수명/변수명), 매개변수 타입, 반환 타입, 동기화/서버·클라이언트 제약 조건**에 대한 기술적 정보가 포함되어 있지 않습니다. 또한 원문의 표(Anchor 이름) 컬럼이 비어 있어 각 설명에 대응하는 구체적인 Anchor 상수 이름(예: `TopLeft`, `Center` 등)을 확인하거나 추론할 수 없습니다. 따라서 지시사항("주어진 원문에 있는 정보만 사용", "없는 사실·API·코드 예제를 지어내지 않음")에 따라, 원문에 [original] | | Anchor | 설명 | | --- | --- | | | 상단 왼쪽 끝을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 상단 중앙을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 상단 오른쪽 끝을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 중앙 왼쪽 끝을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 정중앙을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 중 [chunk_id] | Guides:688:2

[task] | wikipedia [title] | 월드 좌표와 스크린 좌표 [category] | Guides [rephrased] | # 월드 좌표와 스크린 좌표: 앵커(Anchor)와 프리셋 메이플스토리 월드(MapleStory Worlds)의 UI 컴포넌트에서는 화면 내 위치를 지정하기 위해 **월드 좌표(World Coordinate)** 와 **스크린 좌표(Screen Coordinate)** 라는 두 가지 체계와 이를 제어하는 앵커(Anchor) 개념을 사용합니다. 앵커는 UI 요소가 화면의 어느 부분을 기준으로 배치될지를 결정하며, `PosX`, `PosY`, `Left`, `Right`, `Top`, `Bottom` 속성값과 결합하여 최종 위치와 크 [original] | | Anchor | 설명 | | --- | --- | | | 상단 왼쪽 끝을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 상단 중앙을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 상단 오른쪽 끝을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 중앙 왼쪽 끝을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 정중앙을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 중 [chunk_id] | Guides:688:2

[task] | knowledge_list [title] | TimeSpan으로 시간 표현하기 [category] | Guides [rephrased] | * 표준 TimeSpan 형식 문자열은 단일 형식 지정자를 사용하여 서식 지정 작업으로 생성되는 TimeSpan 값의 텍스트 표현을 정의합니다. * 상수 형식 지정자 "c"는 문화권을 구분하지 않으며, `[-][d'.']hh':'mm':'ss['.'fff]` 형식을 사용하여 문자열을 생성합니다. * 상수 형식 지정자 "c"에서 기호 `fff`는 "001"부터 "999"까지의 값 범위를 가진 초의 소수 부분을 나타냅니다. * 상수 형식 지정자 "c"에서 기호 `ss`, `mm`, `hh`는 각각 "0"~"59", "00 [original] | 표준 TimeSpan 형식 문자열은 단일 형식 지정자를 사용하여 서식 지정 작업으로 생성되는 TimeSpan 값의 텍스트 표현을 정의합니다. | 형식 지정자 | 이름 | 설명 | | --- | --- | --- | | "c" | 상수 형식 | 문화권을 구분하지 않으며 [-][d'.']hh':'mm':'ss['.'fff] 형식을 사용합니다. | | "g" | 일반 약식 | 문화권을 구분하며, 필요한 내용을 출력합니다. [-][d':']h':'mm':'ss[.FFF] 형식을 사용합니다. | | "G" | 일반 긴 형식 | 문화권을 [chunk_id] | Guides:689:1

[task] | wikipedia [title] | 월드 좌표와 스크린 좌표 [category] | Guides [rephrased] | # 월드 좌표와 스크린 좌표 메이플스토리 월드(MapleStory Worlds)에서 사용자 인터페이스(UI)를 제작할 때, 기기별 해상도와 Safe Area 차이에 따른 좌표 체계의 이해가 필수적입니다. 각 단말기는 고유한 해상도와 안전 영역(Safe Area)을 가지므로, 단순히 UI 좌표 값을 고정하여 위치를 지정하면 특정 기기에서는 UI 요소가 잘리거나 화면 밖으로 밀려나 보이지 않는 문제가 발생할 수 있습니다. 모든 기기의 Safe Area를 일일이 확인하여 절대 좌표를 설정하는 방식은 비효율적이므로, UI의 특정 기준점을 [original] | 기기마다 해상도와 Safe Area가 다르므로 UI 좌표로 UI 위치를 결정할 경우 기기에 따라 UI의 일부가 잘려 보이거나, 보이지 않을 수 있습니다. 모든 기기의 Safe Area를 확인해 UI 위치를 일일이 지정하는 것은 효율적인 제작 방식이 아니므로 UI의 특정 지점을 기준으로 얼마나 떨어져 있을 것인지와 같은 다른 기준으로 UI를 배치해야 합니다. UI 좌표에 맞추어 UI를 배치했을 발생하는 문제를 살펴봅시다. UI는 **스크린 해상도**의 변화에 따라 위치가 달라지게 됩니다. 크리에이터가 버튼 하나를 Anchor를 정 [chunk_id] | Guides:688:3

[task] | knowledge_list [title] | TimeSpan으로 시간 표현하기 [category] | Guides [rephrased] | 1. `TimeSpan`은 특정 시작점 또는 끝점 참조 없이 초, 분, 시간 단위의 일반적인 시간 간격만을 나타내며, 가변적인 연도나 월 단위로 표현할 수 없습니다. 2. `TimeSpan`은 특정 시점으로부터 다른 특정 시점까지의 시간 차이를 계산하거나, 스테이지 통과 시간 측정, 데이터 스토리지에 시간을 저장하는 용도로 사용할 수 있습니다. 3. `TimeSpan`의 표준 형식 지정자는 `"c"`, `"g"`, `"G"` 의 세 가지이며, 각각 특정 출력 형식이 정의되어 있습니다. 4. `TimeSpan`의 사용자 형식 지정자는 [original] | # 학습 과정 소개 DateTime을 활용하기 위해선 TimeSpan을 이용해야 합니다. 초, 분, 시간의 단위를 나타냅니다. # TimeSpan 소개 TimeSpan은 시간 간격을 나타냅니다. 특정 시작점 또는 끝점에 대한 참조 없이 일반적인 간격만을 나타내므로 어떠한 가변적인 연도와 월 단위로 표현할 수 없습니다. TimeSpan은 특정 시점으로부터 다른 특정 시점까지의 시간을 계산할 때 사용할 수 있습니다. 어떤 스테이지를 통과하는 데 걸린 시간을 구하고 싶거나, 시간을 데이터 스토리지에 저장하기 위해 사용할 수 있습니다 [chunk_id] | Guides:689:0

[task] | distill [title] | TimeSpan으로 시간 표현하기 [category] | Guides [rephrased] | # TimeSpan으로 시간 표현하기 `TimeSpan` 값의 텍스트 표현은 `ToFormattedString` 메서드의 형식 지정자를 통해 생성됩니다. ## 형식 지정자 | 지정자 | 이름 | 특징 | 형식 | | :--- | :--- | :--- | :--- | | `"c"` | 상수 | 문화권 무관 | `[-][d'.']hh':'mm':'ss['.'fff]` | | `"g"` | 일반 약식 | 문화권 구별, 필요 시 출력 | `[-][d':']h':'mm':'ss[.FFF]` | | `"G"` | 일반 긴 형식 | 문화권 [original] | 표준 TimeSpan 형식 문자열은 단일 형식 지정자를 사용하여 서식 지정 작업으로 생성되는 TimeSpan 값의 텍스트 표현을 정의합니다. | 형식 지정자 | 이름 | 설명 | | --- | --- | --- | | "c" | 상수 형식 | 문화권을 구분하지 않으며 [-][d'.']hh':'mm':'ss['.'fff] 형식을 사용합니다. | | "g" | 일반 약식 | 문화권을 구분하며, 필요한 내용을 출력합니다. [-][d':']h':'mm':'ss[.FFF] 형식을 사용합니다. | | "G" | 일반 긴 형식 | 문화권을 [chunk_id] | Guides:689:1

[task] | wikipedia [title] | TimeSpan으로 시간 표현하기 [category] | Guides [rephrased] | # TimeSpan으로 시간 표현하기 `TimeSpan`은 게임 로직 및 시스템에서 시간 간격을 표현하고 처리하는 데 사용되는 핵심 타입입니다. `DateTime`과 결합하여 사용될 때, `TimeSpan`은 초, 분, 시간 등 다양한 단위의 시간 값을 나타냅니다. ## 개념 및 용도 `TimeSpan`은 특정 시작점이나 끝점에 대한 절대적 참조 없이 순수한 '시간 간격(duration)'만을 나타냅니다. 따라서 가변적인 연도나 월 단위와 같은 달력 기반의 개념을 직접 표현할 수 없습니다. 주로 두 가지 용도로 활용됩니다. [original] | # 학습 과정 소개 DateTime을 활용하기 위해선 TimeSpan을 이용해야 합니다. 초, 분, 시간의 단위를 나타냅니다. # TimeSpan 소개 TimeSpan은 시간 간격을 나타냅니다. 특정 시작점 또는 끝점에 대한 참조 없이 일반적인 간격만을 나타내므로 어떠한 가변적인 연도와 월 단위로 표현할 수 없습니다. TimeSpan은 특정 시점으로부터 다른 특정 시점까지의 시간을 계산할 때 사용할 수 있습니다. 어떤 스테이지를 통과하는 데 걸린 시간을 구하고 싶거나, 시간을 데이터 스토리지에 저장하기 위해 사용할 수 있습니다 [chunk_id] | Guides:689:0

[task] | extract_knowledge [title] | 월드 좌표와 스크린 좌표 [category] | Guides [rephrased] | # UI 좌표 시스템: Anchor와 위치 지정 ## 1. 개념 설명 메이플스토리 월드의 UI 컴포넌트에서는 화면의 해상도나 크기에 관계없이 일관된 위치를 유지하기 위해 **Anchor(앵커)** 를 사용합니다. Anchor는 UI 요소의 기준점(reference point)을 정의하며, 이 기준점에서 `PosX`, `PosY` 값만큼 떨어진 위치에 UI가 배치됩니다. 기본적인 9개 Anchor(상단/중앙/하단 x 왼쪽/중앙/오른쪽)는 정적 위치 지정에 사용되며, 추가로 Stretch(늘리기) 기능이 포함된 Anchor들은 특 [original] | | Anchor | 설명 | | --- | --- | | | 상단 왼쪽 끝을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 상단 중앙을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 상단 오른쪽 끝을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 중앙 왼쪽 끝을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 정중앙을 기준으로 PosX, PosY 만큼 떨어진 곳에 UI가 위치합니다. | | | 중 [chunk_id] | Guides:688:2

[task] | knowledge_list [title] | TimeSpan으로 시간 표현하기 [category] | Guides [rephrased] | 제시된 문서의 내용을 바탕으로 핵심 사실을 추출하여 목록으로 정리하였습니다. * **일반 긴 서식 지정자 "G"는** `[-]d':'hh':'mm':'ss.fff` 형식으로 항상 일 수와 소수 세 자릿수를 출력하며, 문화권에 따라 구분 기호가 달라집니다. * **TimeSpan 생성자는** 매개변수로 시간, 분, 초 등을 받아 인스턴스를 생성하며, 예시에서는 `TimeSpan(7, 45, 16)`처럼 3개 매개변수를 전달할 수 있습니다. * **`ToFormattedString` 메서드는** 첫 번째 매개변수로 형식 문 [original] | 일반 긴 서식 지정자 "G"는 항상 일 수와 소수 세 자릿수를 출력하고 문화권을 구분합니다. 형식은 [-]d':'hh':'mm':'ss.fff 입니다. | 기호 | 설명 | | --- | --- | | - | 음수를 나타내는 기호 | | . | 초 소수 구분을 나타냅니다. | | fff | 초의 소수 부분을 나타냅니다. | | ss | "00"부터 "59" 범위의 초를 나타냅니다.| | mm | "00"부터 "59" 범위의 분을 나타냅니다. | | hh | "00"부터 "23" 범위의 시간을 나타냅니다. | | d | 일 수를 나 [chunk_id] | Guides:689:2

[task] | extract_knowledge [title] | 월드 좌표와 스크린 좌표 [category] | Guides [rephrased] | # 월드 좌표와 스크린 좌표 ## 개념 설명 메이플스토리 월드에서 UI 요소의 위치를 결정할 때 **스크린 좌표(Screen Coordinates)**와 **UI 좌표(UI Coordinates)**를 구분해야 합니다. 기기마다 해상도와 Safe Area(안전 영역)가 다르기 때문에, 특정 픽셀 단위의 스크린 좌표를 UI 위치로 직접 지정하면 해상도 비율이 다른 기기에서 UI가 잘리거나 의도하지 않은 위치에 배치될 수 있습니다. 두 좌표계의 차이는 다음과 같습니다. 1. **원점 위치**: - **UI 좌표**: Safe [original] | 기기마다 해상도와 Safe Area가 다르므로 UI 좌표로 UI 위치를 결정할 경우 기기에 따라 UI의 일부가 잘려 보이거나, 보이지 않을 수 있습니다. 모든 기기의 Safe Area를 확인해 UI 위치를 일일이 지정하는 것은 효율적인 제작 방식이 아니므로 UI의 특정 지점을 기준으로 얼마나 떨어져 있을 것인지와 같은 다른 기준으로 UI를 배치해야 합니다. UI 좌표에 맞추어 UI를 배치했을 발생하는 문제를 살펴봅시다. UI는 **스크린 해상도**의 변화에 따라 위치가 달라지게 됩니다. 크리에이터가 버튼 하나를 Anchor를 정 [chunk_id] | Guides:688:3

[task] | diverse_qa [title] | TimeSpan으로 시간 표현하기 [category] | Guides [rephrased] | 질문: 표준 TimeSpan 형식 문자열은 어떤 방식으로 생성되는 텍스트 표현을 정의합니까? 답변: 단일 형식 지정자를 사용하여 서식 지정 작업으로 생성되는 TimeSpan 값의 텍스트 표현을 정의합니다. 질문: "c" 형식 지정자의 이름과 문화권 구분 여부를 각각 무엇입니까? 답변: 이름은 '상수 형식'이며, 문화권을 구분하지 않습니다. 질문: 상수 형식 지정자 "c"에서 기호 'hh'가 나타내는 값의 범위는 어떻게 됩니까? 답변: "00"부터 "23" 범위의 시간을 나타냅니다. 질문: 일반 약식 서식 지정자 "g"는 문화권 [original] | 표준 TimeSpan 형식 문자열은 단일 형식 지정자를 사용하여 서식 지정 작업으로 생성되는 TimeSpan 값의 텍스트 표현을 정의합니다. | 형식 지정자 | 이름 | 설명 | | --- | --- | --- | | "c" | 상수 형식 | 문화권을 구분하지 않으며 [-][d'.']hh':'mm':'ss['.'fff] 형식을 사용합니다. | | "g" | 일반 약식 | 문화권을 구분하며, 필요한 내용을 출력합니다. [-][d':']h':'mm':'ss[.FFF] 형식을 사용합니다. | | "G" | 일반 긴 형식 | 문화권을 [chunk_id] | Guides:689:1

[task] | diverse_qa [title] | TimeSpan으로 시간 표현하기 [category] | Guides [rephrased] | 질문: 일반 긴 서식 지정자 "G"의 기본 출력 형식은 무엇인가요? 답변: 일반 긴 서식 지정자 "G"는 항상 일 수와 소수 세 자릿수를 출력하며, 그 형식은 [-]d':'hh':'mm':'ss.fff 입니다. 질문: TimeSpan 서식 지정자에서 'fff' 기호는 무엇을 나타내나요? 답변: 'fff' 기호는 초의 소수 부분을 나타냅니다. 질문: TimeSpan 서식 지정자에서 'hh' 기호는 어떤 범위의 값을 출력하나요? 답변: 'hh' 기호는 "00"부터 "23" 범위의 시간을 나타냅니다. 질문: 다음 코드의 출력 결과는 [original] | 일반 긴 서식 지정자 "G"는 항상 일 수와 소수 세 자릿수를 출력하고 문화권을 구분합니다. 형식은 [-]d':'hh':'mm':'ss.fff 입니다. | 기호 | 설명 | | --- | --- | | - | 음수를 나타내는 기호 | | . | 초 소수 구분을 나타냅니다. | | fff | 초의 소수 부분을 나타냅니다. | | ss | "00"부터 "59" 범위의 초를 나타냅니다.| | mm | "00"부터 "59" 범위의 분을 나타냅니다. | | hh | "00"부터 "23" 범위의 시간을 나타냅니다. | | d | 일 수를 나 [chunk_id] | Guides:689:2

[task] | wikipedia [title] | TimeSpan으로 시간 표현하기 [category] | Guides [rephrased] | # TimeSpan으로 시간 표현하기 TimeSpan 표준 형식 문자열은 단일 형식 지정자를 사용하여 `ToFormattedString` 작업으로 생성되는 `TimeSpan` 값의 텍스트 표현을 정의합니다. 지원되는 형식 지정자는 상수 형식("c"), 일반 약식("g"), 일반 긴 형식("G") 세 가지입니다. 상수 형식("c")은 문화권을 구분하지 않으며 `[-][d'.']hh':'mm':'ss['.'fff]` 형식을 따릅니다. 일반 약식("g")은 문화권을 구분하며 필요한 내용만 출력하며, 형식은 `[-][d':']h':'m [original] | 표준 TimeSpan 형식 문자열은 단일 형식 지정자를 사용하여 서식 지정 작업으로 생성되는 TimeSpan 값의 텍스트 표현을 정의합니다. | 형식 지정자 | 이름 | 설명 | | --- | --- | --- | | "c" | 상수 형식 | 문화권을 구분하지 않으며 [-][d'.']hh':'mm':'ss['.'fff] 형식을 사용합니다. | | "g" | 일반 약식 | 문화권을 구분하며, 필요한 내용을 출력합니다. [-][d':']h':'mm':'ss[.FFF] 형식을 사용합니다. | | "G" | 일반 긴 형식 | 문화권을 [chunk_id] | Guides:689:1

[task] | extract_knowledge [title] | TimeSpan으로 시간 표현하기 [category] | Guides [rephrased] | # TimeSpan으로 시간 표현하기 ## 1. 개념 설명 `TimeSpan`은 시간 간격(duration)을 나타내는 타입입니다. 특정 시작점이나 끝점(일시)에 대한 참조 없이, 두 시점 사이의 차이량만을 표현합니다. 따라서 가변적인 연도나 월 단위(예: "1개월")로 표현할 수 없으며, 고정된 시간 단위(일, 시간, 분, 초, 밀리초)로만 계산됩니다. 주요 용도: * 스테이지 클리어 시간 측정 * 데이터 스토리지에 시간 간격 저장 * 특정 시점 사이의 시간 차 계산 `TimeSpan`은 출력 형식을 지정할 때 표준 형식 [original] | # 학습 과정 소개 DateTime을 활용하기 위해선 TimeSpan을 이용해야 합니다. 초, 분, 시간의 단위를 나타냅니다. # TimeSpan 소개 TimeSpan은 시간 간격을 나타냅니다. 특정 시작점 또는 끝점에 대한 참조 없이 일반적인 간격만을 나타내므로 어떠한 가변적인 연도와 월 단위로 표현할 수 없습니다. TimeSpan은 특정 시점으로부터 다른 특정 시점까지의 시간을 계산할 때 사용할 수 있습니다. 어떤 스테이지를 통과하는 데 걸린 시간을 구하고 싶거나, 시간을 데이터 스토리지에 저장하기 위해 사용할 수 있습니다 [chunk_id] | Guides:689:0

[task] | distill [title] | TimeSpan으로 시간 표현하기 [category] | Guides [rephrased] | # TimeSpan 시간 표현 `TimeSpan`은 일(d), 시간(hh), 분(mm), 초(ss), 밀리초(fff)를 조합하여 시간을 표현합니다. ## 일반 형식 지정자 "G" 문화권 구분에 따라 일 수와 소수 세 자릿수를 출력합니다. 기본 형식은 `[-]d':'hh':'mm':'ss.fff`입니다. | 기호 | 설명 | | --- | --- | | `-` | 음수 기호 | | `d` | 일 수 | | `hh` | 시간 (00-23) | | `mm` | 분 (00-59) | | `ss` | 초 (00-59) | | `fff [original] | 일반 긴 서식 지정자 "G"는 항상 일 수와 소수 세 자릿수를 출력하고 문화권을 구분합니다. 형식은 [-]d':'hh':'mm':'ss.fff 입니다. | 기호 | 설명 | | --- | --- | | - | 음수를 나타내는 기호 | | . | 초 소수 구분을 나타냅니다. | | fff | 초의 소수 부분을 나타냅니다. | | ss | "00"부터 "59" 범위의 초를 나타냅니다.| | mm | "00"부터 "59" 범위의 분을 나타냅니다. | | hh | "00"부터 "23" 범위의 시간을 나타냅니다. | | d | 일 수를 나 [chunk_id] | Guides:689:2

[task] | distill [title] | TimeSpan으로 시간 표현하기 [category] | Guides [rephrased] | # TimeSpan 서식 지정자 `TimeSpan` 객체를 문자열로 변환할 때 사용하는 사용자 지정 서식 지정자입니다. ## 공통 규칙 * **자릿수 처리**: 서식 지정 시 지정된 자릿수보다 작은 소수 자릿수는 잘립니다. * **0 값 처리**: `F`, `FF`, `FFF` 지정자에서 해당 자릿수의 값이 0이면 결과 문자열에 포함되지 않습니다. * **생성 시 문자열 형식**: * `fff` (밀리초 고정 3자리): 소수 세 자리가 **반드시** 포함되어야 합니다. * `F`, `FF`, `F [original] | "fff" 사용자 지정 서식 지정자는 밀리초를 출력합니다. 서식 지정 작업에서 나머지 소수 자릿수는 잘립니다. 문자열로 TimeSpan 객체를 생성할 경우 문자열에는 정확히 소수 세 자리가 포함되어야 합니다. ```lua local timeSpan = TimeSpan(876) log(timeSpan:ToFormattedString("fff")) -- 876 ``` #### "F" "F" 사용자 지정 서식 지정자는 1/10 초를 출력합니다. 서식 지정 작업에서 나머지 소수 자릿수는 잘립니다. 1/10초 값이 0이라면 결과 [chunk_id] | Guides:689:4

[task] | knowledge_list [title] | TimeSpan으로 시간 표현하기 [category] | Guides [rephrased] | ```lua local timeSpan = TimeSpan(876) log(timeSpan:ToFormattedString("fff")) ``` * `"fff"` 서식 지정자는 밀리초 단위의 값을 출력하며, 서식 지정 과정에서 남은 소수 자릿수는 잘립니다. * 문자열을 사용하여 `TimeSpan` 객체를 생성할 경우, 해당 문자열에는 정확히 소수 세 자리(밀리초)가 포함되어야 합니다. * `"F"` 서식 지정자는 1/10초 단위의 값을 출력하며, 서식 지정 과정에서 남은 소수 자릿수는 잘립니다. * `"F"` 서식 [original] | "fff" 사용자 지정 서식 지정자는 밀리초를 출력합니다. 서식 지정 작업에서 나머지 소수 자릿수는 잘립니다. 문자열로 TimeSpan 객체를 생성할 경우 문자열에는 정확히 소수 세 자리가 포함되어야 합니다. ```lua local timeSpan = TimeSpan(876) log(timeSpan:ToFormattedString("fff")) -- 876 ``` #### "F" "F" 사용자 지정 서식 지정자는 1/10 초를 출력합니다. 서식 지정 작업에서 나머지 소수 자릿수는 잘립니다. 1/10초 값이 0이라면 결과 [chunk_id] | Guides:689:4

[task] | distill [title] | 리소스 관리 [category] | Guides [rephrased] | # 메이커 리소스 관리 ## 리소스 분류 및 귀속 모든 리소스는 고유 **RUID**를 가지며, 제공자와 등록 위치에 따라 다음과 같이 구분됩니다. | 리소스 구분 | 등록 위치 | 귀속 범위 | 사용 권한 | | :--- | :--- | :--- | :--- | | **MSW 리소스** | 메이플스토리 월드 제공 | - | 모든 크리에이터 사용 가능 | | **Workspace 리소스** | 메이커 Workspace (Import) | **월드** | 해당 월드 내 사용만 가능 | | **Resource Storage 리소스* [original] | # 학습 과정 소개 유저가 메이커에 등록한 리소스를 관리하는 방법에 대해 알아봅시다. # 리소스 구분 메이플스토리 월드에서의 리소스는 프로퍼티 에디터 혹은 스크립트 등에서 사용할 수 있습니다. 그리고 각각의 리소스마다 RUID가 존재합니다. 리소스는 제공자에 따라 **메이플스토리 월드 리소스**와 **유저 리소스**로 나눌 수 있습니다. ## 메이플스토리 월드 리소스 메이플스토리 월드 리소스는 말 그대로 메이플스토리 월드에서 제공하는 리소스를 말합니다. 메이커의 **Resource Storage** 및 [메이플스토리 월드 [chunk_id] | Guides:690:0

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