100개의 Game_Picture 모두 Spriteset_Map에서 사용하도록 돌리는 방법은 간단합니다. Spriteset_Map의 45번째 줄을 아래와 같이 변경하시면 됩니다.
변경 전 for i in 1..50
변경 후 for i in 1..100
다만 이건 전투장면에서 쓰이는 Game_Picture를 맵장면에 가져오는 편법이므로, 51~100 번의 그림을 표시한 상태에서 전투 장면에 돌입하면 해당 그림들이 그대로 전투 장면에도 보여지게 될 겁니다. (그에 반해, 원래부터 맵 장면에 쓰이는 1~50번의 그림은 전투 장면에서는 안 보이겠지요.)
참고로 운님의 설명에도 잘못된 부분이 꽤 많습니다.
예를 들자면, 그림 파일명에는 프로젝트폴더/Graphics/Pictures/ 내에 있는 그림 파일명을 적으셔야 합니다. 만약에 Graphics/Pictures/ 폴더에 something.png라는 이미지 파일을 넣었다면 그림 표시는 다음과같이 하시면 됩니다. $game_screen.pictures[51].show("something", 0, 0, 0, 100, 100, 255, 0) 참고 : 확장자 생략 가능
다른 예로는, 다음 메소드의 인수가 잘못되었습니다. Zoom의 경우 퍼센트 값을 넣어주셔야 하고 (1을 넣으면 1/100의 크기라 잘 보이지 않을 겁니다.) 투명도(Transparency)가 아니라 불투명도(Opacity)입니다. 시간의 단위는 프레임이며, 이벤트와는 다르게 스크립트에서는 40프레임이 1초입니다. (이벤트에서는 20프레임이 1초)
필요한 부분인데 혹시 예를 들어 알려주실수 있을까요?ㅠㅠ
'100개의 Game_Picture 모두 Spriteset_Map에서 사용하도록 돌려도 되고'
제가 난독증인듯...저 예만으로 아무리 연습을 해봐도 삽질밖에 안되네요.
하는 방법을 좀 예시로 설명해주실수 없을지...
스크립트를 읽을 수 있으시다면, 조금만 더 자세히 읽어보시면 아시겠지만 XP에서 사용되는 Game_Picture 배열은 다음과 같이 세가지로 분류됩니다.
0 : nil (인덱스를 1부터 시작하기 위해 0번째는 더미값을 넣어둠.) 1~50 : Spriteset_Map 내에서의 픽쳐 스프라이트에 사용 51~100 : Spriteset_Battle 내에서의 픽쳐 스프라이트에 사용
즉, 51~100까지의 Game_Picture를 조정하면 맵에서의 픽쳐 표시가 아니라 전투에서의 1~50까지의 픽쳐 표시가 변경될 겁니다.
단순히 위와같이 해서는 안 되고, 추가적인 작업이 더 필요합니다. 알만툴에서 제공하는 기본 전투 시스템을 사용하지 않는다면, 100개의 Game_Picture 모두 Spriteset_Map에서 사용하도록 돌려도 되고 아예 Game_Picture와 Sprite_Picture를 더 생성하는 방법도 있겠지요.