조회 수 1747 추천 수 1 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

RPG Maker VX Ace에서 Title 씬 장면을 바꾸기 이전에 RPG Maker VX Ace가 흐르는 구도를 알 필요가 있습니다.


RPG Maker VX Ace의 흐름의 구조는

Logo->Main으로 시작합니다.

Logo는 $Test(Test하는 경우 true, 아니면 flase입니다.)일 경우에는 show_logo가 작동합니다.

(게임 실행장치(exe을 작동시키면 로고가 발동되는 부분입니다.)

로고.jpg


Logo가 끝나게 되면, Main에서

SceneManager.run가 발동됩니다.

여기서, SceneManager는 Scene에 관련된 정보들을 작동을 관리하는 모듈입니다.


SceneManager의 run는

DataManager에게 Data를 읽어와서 초기화하고, 게임의 장면을 보이게 합니다.

여기서 배틀 장면인지 아닌지를 구분지어서 거기에 맞춰서 객체를 만들고,

그 객체를 start함수를 불러서 장면을 보여줍니다.


여기서 Scene이란,

장면(배틀장면, 맵장면등등)을 관리하는 소스입니다.

씬.jpg


Window란,

창으로 커맨드창, 메세지창등을 관리하는 소스입니다.

윈도우.jpg 


Title의 장면들을 수정하기 원하신다면,

Scene_Title, Window_TitleCommand

을 수정하셔야됩니다.


Scene_Title에서의 함수는

start를 본다면,


def start

    super

    SceneManager.clear

    Graphics.freeze

    create_background#배경 그림 설정.

    create_foreground#앞쪽 그림 설정.

    create_command_window#커맨드 창 설정

    play_title_music#배경음 설정

end

씬.jpg


여기서 창을 변경 시키기 원하신다면,

Window_TitleCommand을 설정하셔야됩니다.

여기서 위치를 옮기기 원하신다면,


  #--------------------------------------------------------------------------

  # * Update Window Position

  #--------------------------------------------------------------------------

  def update_placement

    self.x = 50#(Graphics.width - width) / 2

    self.y = 10#(Graphics.height * 1.6 - height) / 2

  end


이렇게 설정하신다면,

수정.jpg

이렇게 적용이 되게 됩니다.


하지만, Window_TitleCommand는 Window를 상속 받기 때문에

상위 생성자를 이용해도 위치를 수정 할 수 있습니다.

  def initialize

    super(100, 250)

    #update_placement

    select_symbol(:continue) if continue_enabled

    self.openness = 0

    open

  end


make_command_list는 Window_Command에 있는 make_command_list를 오버라이트(재 정의)하여 선택지를 출력하게 만들어 놨습니다.

  #--------------------------------------------------------------------------

  # * Create Command List

  #--------------------------------------------------------------------------

  def make_command_list

    add_command(Vocab::new_game, :new_game)

    add_command(Vocab::continue, :continue, continue_enabled)

    add_command(Vocab::shutdown, :shutdown)

  end


이걸 수정하면, 선택지를 추가/변경을 할 수 있습니다.

예로

  def make_command_list

    add_command(Vocab::new_game, :new_game)

    add_command(Vocab::shutdown, :shutdown)

  end


씬.jpg


여기서 선택지를 추가/제거할 경우에 활동(작동)하지 않습니다.(그냥 선택지만 늘어납니다.)


선택지가 증가하여 제대로 작동하기 위해선 선택지와 함수를 연결 시켜야됩니다.


자바스크립트와 자바로 친다면 이벤트 리스트너같은 역활을 하는게 필요합니다.


이것은 Window_Selectable라는게 정의가 되어 있습니다.


set_handler라는 함수가 있습니다.


적용한 것의 예는 다음과 같습니다.

  #--------------------------------------------------------------------------

  # * Create Command Window

  #--------------------------------------------------------------------------

  def create_command_window

    @command_window = Window_TitleCommand.new

    @command_window.set_handler(:new_game, method(:command_new_game))

    @command_window.set_handler(:continue, method(:command_continue))

    @command_window.set_handler(:shutdown, method(:command_shutdown))

  end


변경을 하는 방법의 예제를 사용하겠습니다.


  def create_command_window

    @command_window = Window_TitleCommand.new

    @command_window.set_handler(:new_game, method(:close_command_window))

    @command_window.set_handler(:continue, method(:command_continue))

    @command_window.set_handler(:shutdown, method(:command_shutdown))

  end


이렇게 하면,

close_command_window라는 것은 window 창을 끄는 함수입니다.

적용해서 나오는 값입니다.

수정 작업.jpg

new game을 실행시켰을시 나오는 결과입니다.


그 외 효과

  def transition_speed

    return 100

  end


transition_speed는 fadein의 속도를 뜻합니다.

그래서 수치를 변경하면, 타이틀 화면을 표시되는 속도가 달라지게 됩니다.


dispose_background와 dispose_foreground는 그림을 제거하는 함수입니다.


draw_game_title는 타이틀 모습을 보여주는 함수입니다.

  def draw_game_title

    @foreground_sprite.bitmap.font.size = 48

    rect = Rect.new(0, 0, Graphics.width, Graphics.height / 2)

    @foreground_sprite.bitmap.draw_text(rect, $data_system.game_title, 1)

  end


이렇게 되어 있는 경우에서, 글 사이즈를 변경 하고 싶으시면,

  def draw_game_title

    @foreground_sprite.bitmap.font.size = 10

    rect = Rect.new(0, 0, Graphics.width, Graphics.height / 2)

    @foreground_sprite.bitmap.draw_text(rect, $data_system.game_title, 1)

  end


이걸 적용한 결과는 다음과 같습니다.

수정.jpg


    @foreground_sprite.bitmap.draw_text(rect, $data_system.game_title, 1)


여기서 $data_system.game_title는 타이틀의 값을 표시됩니다.


씬 장면을 변경하는 방법으론 다음과 같습니다.

  def command_new_game

    DataManager.setup_new_game

    close_command_window

    fadeout_all

    $game_map.autoplay

    #SceneManager.goto(Scene_Map)

    SceneManager.goto(Scene_Debug)

  end


이걸 이용해서 command_new_game에 있는 값에서 SceneManager.goto을 이용하면 장면이동을 표현할 수 있습니다.

지금은 디버깅장면으로 넘어가도록 만들었습니다.

적용한 결과입니다.

디버깅스.jpg


긴 글 읽어 주셨어 감사합니다.


[첨부파일 디버깅스.jpg 다운로드]

[첨부파일 타이틀 수정.jpg 다운로드]

[첨부파일 수정 작업.jpg 다운로드]

[첨부파일 수정씬.jpg 다운로드]

[첨부파일 수정.jpg 다운로드]

[첨부파일 윈도우.jpg 다운로드]

[첨부파일 씬.jpg 다운로드]

[첨부파일 로고.jpg 다운로드]
?

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(김원배) | 사신지(김병국)