프로그래밍/RPG Maker VXACE
[스크립트 009] Window_Base 스크립트 - 메소드 살펴보기 (1)
[스크립트 009] Window_Base 스크립트 - 메소드 살펴보기 (1)
2018.01.24이전 시간까지는 타이틀 씬과 맵 씬 스크립트의 내용을 해부하고, 응용해 보았다.그러나 이번 시간부터는 씬 스크립트를 해부하지 않고, 윈도우 스크립트를 응용해보는 시간을 갖도록 하겠다.이유는, 더 이상 다른 씬 스크립트를 해부하더라도 윈도우 스크립트의 내용이 받쳐주지 않으면 내용을 알 수 없기 때문이다.또한 이번 글 부터는 형식을 조금 바꾸려고 한다. 스크립트 전문을 모두 보고 넘어가기보다, 중요한 메소드만 짚고 응용해보는 식이다. 윈도우 베이스는 어떤 것을 다루는 스크립트일까? 바로, 모든 윈도우의 근간이 되는 스크립트이다. 단순히 골드를 표시하는 골드 윈도우부터, 선택지를 고르도록 하는 커맨드 윈도우까지 모든 윈도우를 만들 수 있도록 하는 것이 바로 윈도우 베이스다.이 윈도우 베이스 스크립트를 마스터하..
[스크립트 008] 테스트 게임이 아닐 때에도 디버그 씬 부르기
[스크립트 008] 테스트 게임이 아닐 때에도 디버그 씬 부르기
2018.01.22전 시간 자료 : http://doublsb.tistory.com/62저번 시간에는 Input의 이해를 통해 메뉴 호출 키를 변경해 보았다. 이번 시간에는 테스트 게임이 아닐 때에도 디버그 씬을 부를 수 있게 만들어 보자. 테스트 게임일 경우, 디버그 씬을 부르는 키는 F9키이다. 이 메소드는 Scene_Map에 있다. 한 번 내용을 살펴보도록 하자. def update_call_debug SceneManager.call(Scene_Debug) if $TEST && Input.press?(:F9) end update_call_debug 메소드는 만약 테스트 게임이고, F9키를 눌렀을 경우 디버그 씬으로 이동시킨다.이 중 테스트 게임이 아닐 때에도 디버그 씬을 부를 수 있게 만드려면, 어느 부분을 수정해야..
[스크립트 007] 메뉴 호출 키 변경하기와 Input의 이해
[스크립트 007] 메뉴 호출 키 변경하기와 Input의 이해
2018.01.19전 시간 자료 : http://doublsb.tistory.com/59저번 시간에는 맵 씬(Scene_Map) 스크립트를 해부해 보았다. 이번 시간에는 맵 씬 스크립트의 응용으로, 메뉴 호출 키를 변경해 보자. 메뉴 호출은 보통 B키(키보드 X키)를 눌렀을 때 이루어진다.B키에 대응되는 키를 변경하는 건 게임 창에서 F1을 누르거나, properties에 들어가 수정하는 것만으로 가능하긴 하다. 그럼에도 불구하고 이번 시간에 굳이 메뉴 호출 키를 스크립트로 변경해보는 이유는 Input 기능에 대해 알아보기 위해서이다.우선 메뉴 호출을 관리하는 메소드를 보도록 하자. def update_call_menu if $game_system.menu_disabled || $game_map.interpreter.ru..
[스크립트 006] 맵 씬 스크립트 - 해부편 (2)
[스크립트 006] 맵 씬 스크립트 - 해부편 (2)
2018.01.18저번 글에 이어서 작성한다. Create Message Window 함수 목적 : 메세지 윈도우를 만든다. 함수 내용def create_message_window @message_window = Window_Message.new end 설명@message_window를 메세지 윈도우로 선언한다. Create Scrolling Text Window 함수 목적 : 스크롤 텍스트 윈도우를 만든다. 함수 내용 def create_scroll_text_window @scroll_text_window = Window_ScrollText.new end 설명@scroll_text_window를 스크롤 텍스트 윈도우로 선언한다. Create Map Name Window 함수 목적 : 맵 이름 윈도우를 만든다. 함수 내용..
[스크립트 005] 맵 씬 스크립트 - 해부편 (1)
[스크립트 005] 맵 씬 스크립트 - 해부편 (1)
2018.01.17이전까지의 글에서는 타이틀 씬을 해부하고, 응용해 보았다.이번 글에서는 맵 씬(Scene_Map)을 해부하고 응용해볼만한 구문을 찾아 보려 한다. 스크립트 전문 #==============================================================================# ** Scene_Map#------------------------------------------------------------------------------# This class performs the map screen processing.#============================================================================== class Sc..
[스크립트 004] 게임 도중 타이틀 이미지 변경하기
[스크립트 004] 게임 도중 타이틀 이미지 변경하기
2018.01.16저번 시간에는 타이틀 화면 없이 게임을 바로 시작해 보았다. 이번 시간에는 스크립트를 조금 손봐서, 게임 도중 진행상황에 따라 타이틀 이미지를 바꿀 수 있도록 해 보자. 타이틀 이미지를 바꾸려면 먼저 어떻게 이미지가 불러와지는지를 알아야 한다.타이틀 배경화면 표시를 관리하는, Scene_Title의 create_background 메소드를 살펴보자. def create_background @sprite1 = Sprite.new : sprite1이라는 이름의 새로운 스프라이트를 만든다. @sprite1.bitmap = Cache.title1($data_system.title1_name) : sprite1에 지정해둔 경로의 그림을 불러온다. @sprite2 = Sprite.new : sprite2라는 이름의..
[스크립트 003] 타이틀 화면 없애고 맵부터 시작하기
[스크립트 003] 타이틀 화면 없애고 맵부터 시작하기
2018.01.15전 시간 자료 : http://doublsb.tistory.com/56저번 시간에는 타이틀에 선택지를 추가하고, 삭제해 보았다. 이번 시간에는 아예 타이틀 화면 없이, 맵에서부터 게임을 시작할 수 있게 해 보자. Scene_Title 스크립트가 어떻게 시작하는지 기억하는가? 기억나지 않아도 좋다.한번 구문을 하나씩 보면서, 어떻게 해야 맵부터 게임을 시작할 수 있을지 보도록 하자. def start super : Scene_Base의 start 메소드를 불러온다. SceneManager.clear : SceneManager를 초기화한다. Graphics.freeze : 그래픽을 잠시 멈춘다. create_background : 배경화면을 생성한다. create_foreground : 전경화면을 생성한다...
[스크립트 002] 타이틀 선택지 추가/삭제하기
[스크립트 002] 타이틀 선택지 추가/삭제하기
2018.01.14전 시간 자료 : http://doublsb.tistory.com/54직접적인 응용 강좌가 아니기 때문에 아방스에는 올리지 않았다. 저번 시간엔 타이틀 씬의 내용을 해부했다. 저번 시간에는 타이틀 씬이 어떻게 이루어져 있는지 해부해보았다. 그렇다면 이번 시간에는 응용을 해보도록 하자.제작자들이 초보여도 건드리고 싶어 하는 부분이 바로 타이틀 선택지를 추가하고, 삭제하는 것이다. 여기 여러분의 고민과 아마도 비슷할 문제들을 보여 주겠다. Q1. 저는 타이틀에서 이어하기 선택지를 아예 빼 버리고 싶어요! Q2. 타이틀 선택지에 제작자의 이름을 넣고 싶어요! Q3. 아예 크게 크레딧 선택지를 만들어서 다른 화면을 보여줬으면 좋겠어요! 이 문제 중 1번과 2번은 오늘 이 글 하나만으로 충분하다. 하지만 3번은?..
[스크립트 001] 타이틀 씬 스크립트 - 해부편
[스크립트 001] 타이틀 씬 스크립트 - 해부편
2018.01.07오늘부터 RPG Maker VX ACE 스크립트를 해부하며 공부하고, 다른 사람에게도 도움을 주기 위해 글을 작성하려 한다. 작성 순서는 우리가 게임에서 만날 수 있는 순서로 진행할 예정이다. 먼저, 게임을 실행하기만 하면 만날 수 있는 타이틀의 스크립트부터 해부해보려 한다.기초인 씬과 클래스는 이 글에서 설명하려면 너무 길어지므로 큰 부분만 다룰 것이다. 보통 타이틀 씬을 건드린다고 하면, 이유는 타이틀 커맨드 선택지를 더 추가하고 싶거나, 타이틀 씬을 아예 없애고 싶거나, 변수에 따라 타이틀 배경을 바꾸고 싶어서일 것이다. 이런 응용은 다음 게시글에서 다루기로 하고, 본 글에선 스크립트가 어떻게 구성되어 있는지만 해부하기로 한다. 메소드를 호출한다는 건 def 이후에 있는 내용을 불러온다는 의미이다...
[004] 아이템을 주웠다가 다시 내려놓아보자
[004] 아이템을 주웠다가 다시 내려놓아보자
2016.03.17보통 우리가 타일단위 RPG에서 아이템을 주울 때 어떻게 하는가? 그 아이템 위에 올라가서 줍는 키를 누른다.그렇다면 반대로 버릴 때는 어떻게 하는가? 인벤토리에서 꺼내면 있던 자리에 떨어지는게 보통이다. 그것을 한번 RMVXA에서도 구현해보자. 룻하세요 룻제목이 이런 이유는 신경쓰지 말자 1. 아무 맵이나 불러온다. 2. 데이터베이스에서 아무 아이템이나 막 만들어보자. 나는 라플레시아를 만들었지만, 여러분은 이거 말고 다른 아무거나 만들어도 좋다.다만 Occasion(사용가능한 경우)에서 Only from the menu(메뉴에서만 사용가능)으로 설정해주는 게 좋다.어쨌든 우리가 만드려는 건, 메뉴에서 사용하면 내려놓는 시스템을 만드려는 거니까. 일단은 기본적인 아이템 정보만 만들어두고, 먼저 줍는 기..
[003] 애니메이션으로 화면에 글자를 띄워 보자
[003] 애니메이션으로 화면에 글자를 띄워 보자
2016.03.14무려 글 두개만에 소재가 떨어졌네여. 결국 이벤트 응용 관련 글을 쓰게 됐습니다 (...) 애니메이션으로 화면에 글자를 띄워 보자 1. 왜 그렇게 하는가? 픽쳐로 화면에 띄울 수도 있을텐데, 왜 굳이 애니메이션으로 하는가에 대해서 궁금할 수도 있을 것이다.이유는 픽쳐는 화면에 그림을 띄우는 것이고, 애니메이션은 이벤트에 그림을 띄우는 것이기 때문이다. 여기 '호엑'이라는 글자를 픽쳐(그림의 표시)로 띄웠다고 해 보자. 그럼 주인공이 옆으로 이동했을 때 '호엑'이라는 글자는 어디 있는가?당연히 맵 중앙에 그대로 있을 것이다. 그렇다면 애니메이션으로 '호엑'을 표시했을 때는 어떤가?사진에서 빨간색 상자가 애니메이션이 표시되는 이벤트의 위치이다.이 경우는 주인공이 옆으로 이동했을 때, 이벤트 위치 위에 표시될..
[002] 픽쳐/Pictures에 관해서
[002] 픽쳐/Pictures에 관해서
2016.03.13- 투명도로 그림이 자연스럽게 나타나게끔 해 보자. Show Picture(그림의 표시)로 Opacity(투명도)를 0으로 설정해놓은 뒤, Move Pictrue(그림의 이동)으로 시간이 가면서 Opacity(투명도)가 255가 되도록 설정해놓으면 그림이 부드럽게 나타나게 만들 수 있다. - 그림을 여러 장 표시해서 애니메이션처럼 만들 수 있다. 연속되는 그림을 작은 프레임 간격으로 표시하면, 애니메이션처럼 만들 수 있다. - 그림을 회전시켜 보자. 같은 이치로, Rotate Picture를 작은 프레임 간격으로 여러 번 표시하면 그림이 돌아가는 애니메이션을 만들 수 있다. - 그림을 여러 장 겹칠 수 있다. Show Picture(그림의 표시)의 Number(번호)는 그림을 겹칠 때, 몇 번째로 위에 ..