Slick2D 라이브러리를 사용하여 Java에서 2D 게임 엔진을 매우 단순하게 만들고 텍스트 파일에서 레벨 (타일 맵)을로드하려고합니다. 나는이 같은 타일에 각 번호를 할당하고 싶지 않은, 따라서 여러 다른 타일 세트를로드 할 수 있도록하려면, 그리고 대신Slick2D의 텍스트 파일에서 타일 맵로드 중
1 1 1 1 1
1 0 0 0 1
1 0 0 0 1
1 0 0 0 1
1 1 1 1 1
(Where 1 is a wall and 0 is a floor)
, 나는의 x 및 y 좌표를 사용할 수 있도록하고 싶습니다 tilemap는 가로 질러 타일이처럼 타일 세트에에 위치한 아래 얼마나 많은 타일을 표현하기 :
0,0 0,0 0,0
0,0 1,0 0,0
0,0 0,0 0,0
(0,0 is the tile in the upper left hand corner of the tileset, 1,0 is the second tile in the tileset)
내가 텍스트 파일을 읽고 앞에 정수를 저장하는이와 데 가장 큰 문제 쉼표는 Pos1 (X 값)이고 쉼표 다음은 Pos2 (Y 값)로 표시됩니다.
어떻게하면됩니까? 일반 파일 판독기, 버퍼링 된 판독기 또는 스캐너를 사용합니까?
Slick2D에는 Tiled Map (.tmx) 파일을 읽을 수있는 기능이 내장되어 있지만 게임 엔진에는 타일 맵 편집기가 내장되어 있으므로 일반 텍스트를 사용하고 싶습니다. 파일.
감사합니다.하지만 16x16 타일 세트와 같이 좌표에 둘 이상의 숫자가 있으면 어떻게 될까요? 첫 번째 예제는 1,2,14를 1,2 1,4 – FidgetyTheGamer
으로 읽습니다. 두 번째는 쉼표가 없으므로 두 자리 숫자의 좌표를 텍스트 파일에 쓸 방법이 없습니다. – FidgetyTheGamer
텍스트 파일에 12,14 13,15 줄이있는 경우 첫 번째 예는 처음에는 공백에서 문자열을 분할하고 12,14 및 13,15을 String [] 값에 별도의 문자열로 저장 한 다음 각 문자열을 쉼표로 분리하고 반환 된 처음 두 문자열을 구문 분석하여 루프의 첫 번째 반복에서 x와 y로 저장된 12와 14가됩니다. 두 번째 예제에서와 같이,'readInt()'와'writeInt()'둘 다 두 자리의 정수 나 다른 정수를 사용할 수 있습니다. 한 번에 한 자리 만 처리 할뿐만 아니라 전체 숫자도 처리합니다. – Alex