Project1

标题: mv更新后,关于开始画面的鼠标控制,出现了一个小问题..... [打印本页]

作者: ltxfj    时间: 2019-3-10 18:56
标题: mv更新后,关于开始画面的鼠标控制,出现了一个小问题.....
简单叙述一下情况:

跟着教学做了个开头画面的替换,自己做了两个sprite button图片,开始游戏/继续游戏,把中间的小窗口隐藏掉了,然后新的图片放在了屏幕靠右的位置。

设置了setclickHandler,能点了,但是没有确认的音效(但是整体是正常的)

-----

以上是更新前的状况。

-----

然后我这边代码基本都没动过,MV上次更新后,发现点击屏幕中央位置的时候会蹦出来报错 setClickHandler is not a function。

我把sprite button的这两个clickhandler的语句去掉了,正常了,然后四处点击屏幕,发现鼠标点击屏幕正中间偏下位置的时候会触发选择开始游戏/继续游戏。

一番测试之后发现,鼠标点击MV默认的开始游戏/继续游戏的所在的位置的时候,会触发点击事件(虽然那个小窗口已经被我隐藏了),但我并没找到怎么触发的……

然后我也不知道如何把这两个事件重新绑定到新做的图片上……

-----

求助大佬能否定位下更新后的鼠标触发事件的函数的名字……我这边找了许久了都不知道怎么改……

作者: yang1zhi    时间: 2019-3-13 09:10
隐藏不等于不可操作
隐藏是HIDE和SHOW
操作是activate和deactivate
作者: ltxfj    时间: 2019-3-13 13:37
问题解决啦=v= 更新之后的ClickHandler这个鼠标控制的函数的参数只有一个method了

  1. Window_Selectable.prototype.setHandler = function(symbol, method) {
  2.     this._handlers[symbol] = method;
  3. };
复制代码


我本来按着setHandler的写法写的,但是新的setClickHandler里面没有了symbol:

  1. Sprite_Button.prototype.setClickHandler = function(method) {
  2.     this._clickHandler = method;
  3. };
复制代码


所以写setClickHandler的时候只写一个(this.commandNewGame.bind(this))就可以了,不需要('newGame',  this.commandNewGame.bind(this))了。

/w\ 谢谢了,这样按钮就可以点了




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