타일맵 에디터

타일맵은 레벨입니다. 내 이미지 하나의 타일로 칠한 칸의 그리드에, 코드가 읽는 태그와 그 위에 놓는 오브젝트(주인공의 시작 위치, 동전, 상자)가 있습니다. iPad와 Mac의 타일맵 에디터에서 열립니다.

타일맵 에디터 열기

파일에서 .tilemap을 고르면 바로 타일맵 에디터에서 열립니다. 새로 만들려면 **파일 › 새 에셋…**에서 타일맵을 고르세요(프로젝트 및 에셋 참고).

바에는 맵의 이름과 크기, 타일 크기, 확대 비율이 나옵니다. 타일 | 오브젝트로 편집할 레이어를 고릅니다(L). 그리드는 칸의 선을 보여 주고, 맵 설정에서 타일셋을 연결하고 맵 크기와 칸 크기를 바꿉니다.

타일 칠하기

타일 레이어에서는 옆 열에 타일셋이 나옵니다. 타일을 클릭해서 고르거나, 여러 타일을 드래그해 스탬프로 고릅니다. 도구는 캔버스 가장자리에 있고, 각각 단축키가 있습니다.

태그 칠하기(T)는 타일 대신 타일셋 아래에서 고른 태그를 칠하고, 태그 보기는 맵 위에 태그를 보여 줍니다. 코드는 map.hit(…)로 칸의 태그를 읽습니다. 예를 들어 벽은 태그 2입니다(충돌 참고).

오브젝트 레이어

오브젝트는 칸에 놓는 이름입니다. 주인공이 시작하는 곳, 한 줄의 동전, 상자 같은 것입니다. 바에서 오브젝트를 고르면(L) 배치할 수 있습니다. 옆 열은 오브젝트 팔레트가 되어, 프로젝트의 모든 스프라이트가 첫 프레임으로 그려지고 그 이름으로 나옵니다. 오브젝트의 이름은 스프라이트의 이름이고, 코드가 읽는 것도 이 이름입니다.

오브젝트는 다른 오브젝트 위에 놓이지 않습니다. 오브젝트가 있는 칸으로 옮기면 거부되고, 오브젝트는 제자리로 돌아가며, 에디터가 그 칸에 무엇이 있는지 알려 줍니다. ⌥를 누르고 있으면 둘을 맞바꿉니다. 삭제, 잘라내기, 복사, 붙여넣기는 오브젝트에도 쓸 수 있습니다(붙여 넣은 묶음은 클릭할 때까지 포인터를 따라옵니다). 이름 보기(N)는 모든 이름을 보여 줍니다. 그렇지 않으면 오브젝트를 선택하거나 가리킬 때 이름이 나옵니다. 오브젝트 레이어에서는 채우기, 사각형, 태그 칠하기가 흐리게 표시됩니다.

타일 레이어에서 오브젝트는 40 %로 맵에 남아 있고, 클릭하면 오브젝트 아래의 타일을 칠할 뿐 오브젝트는 건드리지 않습니다.

이 맵에 있는 것은 이름별 오브젝트 수를 보여 주며, 이름을 클릭하면 모두 선택합니다. 맵을 오른쪽 클릭하면 레이어 메뉴가 열립니다.

종류

팔레트의 **새 종류…**는 스프라이트의 프레임에 따로 이름을 붙입니다. 예를 들어 슬라임 스프라이트의 두 번째 프레임으로 그리는 guard를 slime 옆에 둘 수 있습니다. 종류는 맵과 함께 저장되고, 팔레트에서 스프라이트 다음에 나옵니다.

파일에서 스프라이트 이름을 바꾸면, 프로젝트의 맵에 그 스프라이트로 그리는 오브젝트가 있을 때 오브젝트 3개의 이름도 변경할까요? 라고 묻습니다. 오브젝트 이름 변경은 모든 맵의 오브젝트와 그 스프라이트로 그리는 종류의 이름을 바꾸고, 실행 취소 한 번으로 새 이름과 오브젝트가 함께 돌아옵니다. 이름 유지는 그대로 둡니다. 스프라이트가 삭제되었거나 오브젝트 없이 이름이 바뀐 오브젝트는 이름을 그대로 두고, 같은 이름의 스프라이트나 종류가 다시 생길 때까지 점선으로 그려집니다.

iPad에서

탭하면 손가락을 뗀 곳에 오브젝트를 놓습니다. 선택으로 오브젝트를 드래그하면 옮겨집니다. 어떤 도구에서든 길게 누르면 오브젝트를 들어 올려 옮길 수 있고, 움직이지 않고 떼면 메뉴가 나옵니다. 오브젝트 레이어에서는 맵 위의 편집 캡슐에 삭제가 있습니다. 두 손가락은 이동과 확대/축소만 하고 아무것도 놓지 않습니다.

코드에서

map.things()는 오브젝트를 (name, row, column)으로 나열합니다.

level = world.spawn(map=GridMap(tilemap="level"))

for name, row, column in level.map.things():
    if name == "coin":
        place_coin(row, column)   # 게임의 함수

형식과 맵의 다른 함수는 GridMap을 참고하세요.

창 막대의 코드에서 사용은 이 맵을 가리키는 스크립트 줄을 나열합니다. 줄을 고르면 그곳으로 이동합니다. 코드에서 맵 이름을 Cmd+클릭하면 이곳으로 돌아옵니다.

실행 취소 및 다시 실행

모든 편집은 실행 취소(Cmd+Z)의 한 단계입니다. 타일 한 획, 동전 한 줄을 놓는 드래그, 여러 오브젝트의 이동도 마찬가지입니다.