-
[RPG MV] 2017.05.25 PM 06:06
/*:
* @help SceneManager.goto(NewScene)
* @plugindesc 새로운 씬을 생성하고 씬 안에 새로운 윈도우를 생성, 출력한다.
* @author 파렌하이트
*/
function NewScene() {
this.initialize.apply(this, arguments);
}
NewScene.prototype = Object.create(Scene_MenuBase.prototype);
NewScene.prototype.constructor = Scene_Menu;
NewScene.prototype.initialize = function() {
Scene_MenuBase.prototype.initialize.call(this);
};
NewScene.prototype.create = function() {
Scene_MenuBase.prototype.create.call(this);
this.createWindow();
};
NewScene.prototype.start = function() {
Scene_MenuBase.prototype.start.call(this);
};
NewScene.prototype.createWindow = function(){
this._newWindow = new NewWindow(0, 0);
this.addWindow(this._newWindow);
}
function NewWindow() {
this.initialize.apply(this, arguments);
}
NewWindow.prototype = Object.create(Window_Base.prototype);
NewWindow.prototype.constructor = NewWindow;
NewWindow.prototype.initialize = function(x, y) {
Window_Base.prototype.initialize.call(this, x, y, Graphics.width * 0.5, Graphics.height);
};
여전히 RMMV JS에 대한 이해도는 부족하다.
새로운 창을 만들기 위해서는 창의 정보를 갖는 씬을 새롭게 만들어야하는듯하다.
씬과 윈도우의 차이는 뭐랄까.
씬은 인게임 중 메뉴화면을 펼치면 나오는 것들을 담는 무엇이라고 할까.
윈도우는 말 그대로 출력되서 나타내는 창이고.
유투브에 강좌가 제법 여럿되지만 역시나 한글은 없다. 뭐, 당연하겠지.
몇몇 강좌를 보고있노라니 도무지 이해가 가지 않아, 결국엔 직접 스크립트들을 봐가며 눈치껏 노력해보는 중이다.
본문은 빈 윈도우를 출력하는 신으로서 메뉴를 만드는데 기본적인 것이라고 하면 좋을듯하다.
뭔가 말에 일관성이 없고 주구난방하다-_-
SceneManager.goto(NewScene)는 위의 구문을 인게임에서 불러들이는 명령어다.
사실 씬이 아니라 윈도우만 만들수도 있지만, 윈도우는 어디까지나 출력을 위한 것으로서 윈도우만 띄우면 윈도우가 띄어진 상태로 다른 조작도 가능하게 된다. 그러니까 아이템, 스킬 등 추가적인 조작이 필요한 메뉴에서 방향키를 눌렀더니 아이템이나 스킬을 선택하는게 아니라 필드에 있는 캐릭터가 움직이는 상황이 나타난다는 것이지. 반대로 윈도우만 만들면 HUD등 상시 출력되는 정보창 따위를 만들수있으니 각각 장단점이 있다.
user error : Error. B.