고급강의실
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
    자세한 내용 감사합니다. -_-)

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

    Date2016.01.12 Category초급강의실 By천무 Views7877 Votes1
    read more
  2. [RMMV] 크로노 엔진(Chrono Engine) 플러그인 사용법

    Date2017.07.16 Category고급강의실 By러닝은빛 Views3874 Votes2
    Read More
  3. [MV플러그인] Armor Scaling 강의

    Date2016.02.13 Category고급강의실 By백난화백 Views3688 Votes2
    Read More
  4. [MV플러그인] Action Sequence 강의

    Date2016.02.12 Category고급강의실 By백난화백 Views5772 Votes1
    Read More
  5. [동영상] 스크립트 나도좀 잘해보자 -1-

    Date2016.02.04 Category고급강의실 By천무 Views1791 Votes1
    Read More
  6. PIXI Filter 총정리 (PIXI 2.2.9)

    Date2016.01.18 Category고급강의실 By러닝은빛 Views18771 Votes3
    Read More
  7. [RGSS2 강좌] 기초편 2. 변수와 상수

    Date2016.01.10 Category고급강의실 By천무 Views697 Votes0
    Read More
  8. [RGSS2 강좌] 기초편 1. 소개

    Date2016.01.10 Category고급강의실 By천무 Views1109 Votes0
    Read More
  9. Rpg Maker MV 함수 리스트(공식포럼)

    Date2016.01.10 Category고급강의실 Byplam Views1473 Votes1
    Read More
  10. 타이틀에 동영상을 넣는 플러그인 사용법

    Date2016.01.08 Category고급강의실 By러닝은빛 Views2768 Votes1
    Read More
  11. RPG Maker MV 메모리 누수 문제 해결법

    Date2016.01.07 Category고급강의실 By러닝은빛 Views4914 Votes1
    Read More
  12. XP to MV 컨버터 사용법

    Date2015.12.28 Category고급강의실 By러닝은빛 Views2926 Votes0
    Read More
  13. 기본 게임 폰트를 다른 폰트로 바꾸기

    Date2015.12.21 Category고급강의실 By러닝은빛 Views7675 Votes0
    Read More
  14. 처음부터 전체화면으로 시작하기

    Date2015.12.21 Category고급강의실 By러닝은빛 Views4478 Votes0
    Read More
  15. [RPG MV] 타이틀 메뉴 일부 없애기

    Date2015.12.20 Category고급강의실 By박야옹 Views3951 Votes1
    Read More
  16. [RPGMV Plugin 영상] 무작정 해보기 "Gameus' Quest System"

    Date2015.12.20 Category고급강의실 By천무 Views1944 Votes0
    Read More
  17. [RPGMV Plugin 영상] 무작정 해보기 "심플ATB"

    Date2015.12.20 Category고급강의실 By천무 Views1230 Votes0
    Read More
  18. VX Ace to MV 컨버터 사용법 ( .rvdata2 → .json )

    Date2015.12.14 Category고급강의실 By러닝은빛 Views7495 Votes0
    Read More
  19. [RPGMV Plugin 영상] 한국어 조사처리, 해상도변경 플러그인!!

    Date2015.12.12 Category고급강의실 By천무 Views1496 Votes0
    Read More
  20. [소공지] 플러그인 무작정 해드린다 진행해봅니다.

    Date2015.12.09 Category고급강의실 By천무 Views733 Votes0
    Read More
  21. [RPGMV Plugin 영상] 한글이름 입력, 전투속도증가 플러그인!!

    Date2015.12.09 Category고급강의실 By천무 Views2056 Votes0
    Read More
Board Pagination Prev 1 2 3 4 Next
/ 4


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

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