고급강의실
2014.12.01 00:04

그림표시50개끝? 51개 해보자.

조회 수 1239 추천 수 1 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
#사용법: 이벤트 - 스크립트
#몇 개는 사용 안 해봐서, 될지 안될지 모릅니다.

#그림표시
$game_screen.pictures[그림번호].show(파일명, 원점, x, y, zoom_x, zoom_y, 투명도, 보통or가산or감산)
ex) $game_screen.pictures[51].show("graphics/character/001-fighter", 0, 50, 100, 1, 1, 255, 0)

#그림이동
$game_screen.pictures[그림번호].move(파일명, 원점, x, y, zoom_x, zoom_y, 투명도, 보통or가산or감산)
ex) $game_screen.pictures[51].move("graphics/character/001-fighter", 0, 50, 100, 1, 1, 255, 0)

#그림회전
$game_screen.pictures[그림번호].rotate(파일명)
ex)  $game_screen.pictures[51].rotate("graphics/character/001-fighter")

#그림색조
$game_screen.pictures[그림번호].start_tone_change(파일명, 원점 * 2)
ex) $game_screen.pictures[51].start_tone_change("graphics/character/001-fighter", 0 * 2)

#그림삭제
$game_screen.pictures[그림번호].erase
ex) $game_screen.pictures[51].erase
?
  • ?
    AltusZeon 2014.12.28 15:50
    강좌를 따로 보시는 분들을 위해, 이곳에도 제가 이전에 작성한 두 댓글의 내용을 복사해왔습니다.



    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를 더 생성하는 방법도 있겠지요.



    Game_Picture와 Sprite_Picture를 더 생성하는 방법은 건드려야 할 부분이 꽤 많으니 생략하고,
    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초)

    #그림이동
    $game_screen.pictures[그림번호].move(시간, 원점, x, y, zoom_x, zoom_y, 불투명도, 합성방법)
    ex) $game_screen.pictures[51].move(40, 0, 0, 0, 100, 100, 255, 0)
    참고 : 원점 - 0(좌측상단)/그외(중앙), 합성방법 - 0(통상)/1(가산)/2(감산)

    #그림회전
    $game_screen.pictures[그림번호].rotate(회전속도)
    ex) $game_screen.pictures[51].rotate(1)

    #그림색조
    $game_screen.pictures[그림번호].start_tone_change(색조, 시간)
    ex) $game_screen.pictures[51].start_tone_change(Tone.new(0, 0, 0, 0), 40)
    참고 : Tone.new(Red, Green, Blue[, Gray])



    말이 길어졌습니다만, 저는 아래 스크립트를 사용하는 것을 더 권하고 싶군요.
    일일이 스크립트 메소드를 치는 것보다는 아래 스크립트를 사용하는 것이
    편리성 면에서도, 이벤트 가독성 면에서도 더 낫다고 봅니다.

    http://littledrago.blogspot.kr/2014/06/rgss-picture-index-modifier.html

    간단하게 위 스크립트의 방식을 설명 드리자면
    이벤트의 스크립트 커맨드로 조작할 그림의 ID(번호)만을 바꾸고
    나머지 세세한 부분은 이벤트의 그림조작 커맨드들을 그대로 사용하는 방법입니다.



    해당 부분에 대해 모르는 여러 사람들이 그 부분에 대해 알아나가기 위해 보는 글이 강좌입니다.
    강좌를 작성하는 것은 좋지만,
    되도록이면 해당 내용에 대해 잘 아는 상태에서 정확한 정보를 적어야지 강좌 다운 글이라고 말할 수 있겠지요.
  • ?
     운 2014.12.28 20:46
    자세한 내용 감사합니다. -_-)

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
공지 초급강의실 게임제작강좌 A-Z 색인 (2016.1.24 ver) 2 file 천무 2016.01.12 7877 1
191 초급강의실 [야매 알만툴 MV 강좌] - 연출과 기능. 두마리 토끼를 동시에. 케이디 2018.09.10 2761 0
190 초급강의실 RPG Maker MV에서 도트 느낌의 폰트 사용하기 1 file 러닝은빛 2018.07.15 5000 1
189 초급강의실 [ MV ] 1-1 " RPG MAKER MV에 대하여 알아보자! " file 수성의물 2018.07.01 1895 0
188 초급강의실 [DLC 매뉴얼] GENE 도움말 한글화 Part.3 이용규약 file 이니군 2018.04.25 850 0
187 초급강의실 [DLC 매뉴얼] GENE 도움말 한글화 Part.2 이벤트 타입과 메뉴 바 컨텐츠 file 이니군 2018.04.25 913 0
186 초급강의실 [DLC 매뉴얼] GENE 도움말 한글화 Part.1 씬 빌더의 개요와 씬빌더 시작하기 1 file 이니군 2018.04.24 2223 1
185 초급강의실 느무느무 쉬운 XAS강좌!(VXA용)1.다운로드 및 규정. file 약빨은ㄱㅏㅅㅣ 2017.11.28 1611 0
184 초급강의실 저 같은 사람 생기지 말라고 만드는 XAS(액션알피지[액알])강 좌!(VX ACE용) 약빨은ㄱㅏㅅㅣ 2017.11.28 1443 0
183 초급강의실 [MV] Iavra Splash Video(스플래시/인트로영상 제작 시 스킵기능 부여 플러그인) file 이니군 2017.09.11 1325 0
182 초급강의실 RPG MAKER MV Tool Program-MADO 설치 및 적용기 1 file 이니군 2017.09.08 2536 0
181 초급강의실 커먼이벤트로 은행시스템 만들기(23:00 그림 링크 재수정) 3 file 이니군 2017.08.28 1708 0
180 고급강의실 [RMMV] 크로노 엔진(Chrono Engine) 플러그인 사용법 1 러닝은빛 2017.07.16 3874 2
179 중급강의실 네코플에서 VXA 선택지 잘리는 버그 해결하는법 file 심심치 2017.06.22 1160 2
178 초급강의실 변수를 이용한 식물 재배 3 file MoonJ 2017.05.28 3393 2
177 초급강의실 누구나 쉽게 따라할 수 있는 액션/슈팅 이벤트 만들기! 4 file 이제리아 2017.01.26 4530 3
176 중급강의실 RPG란 무엇인가?가 하는 강의-1편:대쉬 속도와 걷는 속도를 어떻게 바꾸는가?- 3 file RPG란무엇인가? 2016.10.31 2431 0
175 중급강의실 쯔꾸르 게임을 네코플레이어에 최적화 시켜보자! # 해상도 편 22 file 양갱님 2016.04.17 36387 10
174 초급강의실 게임의 퀼리티를 높이자! 3편-맵배치 2 ifeve 2016.04.08 5324 2
173 초급강의실 Input 객체의 키코드 확장 8 file 러닝은빛 2016.04.05 1501 0
172 초급강의실 초보가쓰는 초보용 Rpg게임 만들기 (xp) 6 Marine 2016.03.13 6395 0
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)