고급강의실
2014.12.01 00:04

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

조회 수 1191 추천 수 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
    자세한 내용 감사합니다. -_-)

  1. 게임제작강좌 A-Z 색인 (2016.1.24 ver)

    Date2016.01.12 Category초급강의실 By천무 Views7382 Votes1
    read more
  2. 타이틀에 동영상을 넣는 플러그인 사용법

    Date2016.01.08 Category고급강의실 By러닝은빛 Views2588 Votes1
    Read More
  3. 캐릭터그래픽 픽셀

    Date2014.07.19 Category고급강의실 By 운 Views3621 Votes0
    Read More
  4. 카카오소프트 님의 RGSS2 스크립트 강좌

    Date2014.03.27 Category고급강의실 ByOmegaroid Views1667 Votes0
    Read More
  5. 처음부터 전체화면으로 시작하기

    Date2015.12.21 Category고급강의실 By러닝은빛 Views4118 Votes0
    Read More
  6. 죽노의 RGSS 이것저것(1)

    Date2013.10.23 Category고급강의실 By죽은노예 Views2129 Votes1
    Read More
  7. 아이템 한번에 받기

    Date2014.08.24 Category고급강의실 By 운 Views1147 Votes0
    Read More
  8. 배틀창 이름 체력 레벨 좌표 변경하기

    Date2014.06.19 Category고급강의실 BySeed Views1032 Votes0
    Read More
  9. 뮤's 실전 스크립팅 강좌 [5. 실전! 반복문을 응용하자!]

    Date2013.09.16 Category고급강의실 By마니아 Views1411 Votes0
    Read More
  10. 뮤's 실전 스크립팅 강좌 [4. 실전! 플래싱 메시지를 만들어보자]

    Date2013.09.16 Category고급강의실 By마니아 Views2081 Votes0
    Read More
  11. 뮤's 실전 스크립팅 강좌 [3. 기초 문법 다지기 (하)]

    Date2013.09.16 Category고급강의실 By마니아 Views1145 Votes0
    Read More
  12. 뮤's 실전 스크립팅 강좌 [2. 기초 문법 다지기 (중)]

    Date2013.09.16 Category고급강의실 By마니아 Views1371 Votes0
    Read More
  13. 뮤's 실전 스크립팅 강좌 [1. 기초 문법 다지기 (상)]

    Date2013.09.16 Category고급강의실 By마니아 Views2351 Votes0
    Read More
  14. 네코 플레이어 메세지 활용하기

    Date2015.09.01 Category고급강의실 By 운 Views571 Votes2
    Read More
  15. 나뚜루's - 배열, 이렇게도 만들 수 있다.

    Date2013.09.17 Category고급강의실 By마니아 Views2101 Votes0
    Read More
  16. 나뚜루's - Sprite 클래스 파헤치기 [4]

    Date2013.09.17 Category고급강의실 By마니아 Views2040 Votes1
    Read More
  17. 나뚜루's - Sprite 클래스 파헤치기 [3]

    Date2013.09.17 Category고급강의실 By마니아 Views1503 Votes0
    Read More
  18. 나뚜루's - Sprite 클래스 파헤치기 [2]

    Date2013.09.17 Category고급강의실 By마니아 Views1781 Votes0
    Read More
  19. 나뚜루's - Sprite 클래스 파헤치기 [1]

    Date2013.09.17 Category고급강의실 By마니아 Views2086 Votes0
    Read More
  20. 기본 게임 폰트를 다른 폰트로 바꾸기

    Date2015.12.21 Category고급강의실 By러닝은빛 Views7295 Votes0
    Read More
  21. 그림표시50개끝? 51개 해보자.

    Date2014.12.01 Category고급강의실 By 운 Views1191 Votes1
    Read More
Board Pagination Prev 1 2 3 4 Next
/ 4






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

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