Project1

标题: 【已解决】请教关于MV插件对本体影响的问题 [打印本页]

作者: MoonBite    时间: 2019-8-21 21:05
标题: 【已解决】请教关于MV插件对本体影响的问题
本帖最后由 MoonBite 于 2019-8-21 21:41 编辑

三言两语不太说得清……我刚刚入门Js,正在学做插件。然后今天我看到一个类似官方madeWithMv的插件
JAVASCRIPT 代码复制
  1. Scene_Boot.prototype.start = function() {
  2.     Scene_Base.prototype.start.call(this);
  3.     SoundManager.preloadImportantSounds();
  4.     if (DataManager.isBattleTest()) {
  5.         DataManager.setupBattleTest();
  6.         SceneManager.goto(Scene_Battle);
  7.     } else if (DataManager.isEventTest()) {
  8.         DataManager.setupEventTest();
  9.         SceneManager.goto(Scene_Map);
  10.     } else {
  11.         this.checkPlayerLocation();
  12.         DataManager.setupNewGame();
  13.         SceneManager.goto(Scene_Splash);
  14.         Window_TitleCommand.initCommandPosition();
  15.     }
  16.     this.updateDocumentTitle();
  17. };
  18.  
  19. function Scene_Splash() {
  20.     this.initialize.apply(this, arguments);
  21. }
  22.  
  23. Scene_Splash.prototype = Object.create(Scene_Base.prototype);
  24. Scene_Splash.prototype.constructor = Scene_Splash;
  25.  
  26. Scene_Splash.prototype.initialize = function() {
  27.     Scene_Base.prototype.initialize.call(this);
  28. };
  29.  
  30. Scene_Splash.prototype.create = function() {
  31.     Scene_Base.prototype.create.call(this);
  32.  
  33.     this._wait = 0;
  34.     this.logo=new Sprite();
  35.     this.logo.bitmap=ImageManager.loadSystem("MyLogo");
  36.     this.addChild(this.logo);
  37. };
  38.  
  39. Scene_Splash.prototype.start = function() {
  40.     Scene_Base.prototype.start.call(this);
  41.     this.startFadeIn(this.slowFadeSpeed(), false);
  42.  
  43.     this.logo.anchor.x=0.5;
  44.     this.logo.anchor.y=0.5;
  45.     this.logo.x=Graphics.width/2;
  46.     this.logo.y=Graphics.height/2;
  47. };
  48.  
  49. Scene_Splash.prototype.update = function() {
  50.     if (this.isActive() && !this.isBusy() && (Input.isTriggered('ok') || TouchInput.isTriggered())) {
  51.         SceneManager.goto(Scene_Title);
  52.         return;
  53.     }
  54.  
  55.     this._wait = this._wait || 0;
  56.     if (this._wait >= 0) {
  57.         if (this._wait >= 90) {
  58.             SceneManager.goto(Scene_Title);
  59.             this._wait = -1
  60.         } else {
  61.             this._wait++;
  62.         }
  63.     }
  64.     Scene_Base.prototype.update.call(this);
  65. };
  66.  
  67. Scene_Splash.prototype.stop = function() {
  68.     Scene_Base.prototype.stop.call(this);
  69.     this.fadeOutAll();
  70. };
  71.  
  72. Scene_Splash.prototype.terminate = function() {
  73.     Scene_Base.prototype.terminate.call(this);
  74.     AudioManager.stopAll();
  75. };

这里面的复写和对象之类的我都能理解,但是为什么插件里只是改了对象的属性,没有触发啊?(如果我的问题很nc请见谅,但是我真的不懂)
还有就是,MV的运行机制,以及用到的对象属性,这些在哪里能查到?萌新现在一头雾水……
作者: yang1zhi    时间: 2019-8-21 21:15
怎么没触发了啊
第一段不就是有触发了吗
SceneManager.goto(Scene_Splash);
scene的触发就是这个啊

脚本里能查到。你多看看,多用用就懂了
作者: MoonBite    时间: 2019-8-21 21:21
yang1zhi 发表于 2019-8-21 21:15
怎么没触发了啊
第一段不就是有触发了吗
SceneManager.goto(Scene_Splash);

请问是因为 Scene_Boot的start方法是在游戏启动时执行,然后复写了之后插件就把源代码覆盖了吗
作者: MoonBite    时间: 2019-8-21 21:42
ok 感谢感谢




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1