rpgmaker吧 关注:13,436贴子:23,976
  • 8回复贴,共1

经过测试,有些在事件页中测试会报错的脚本,是可以正常运行的

只看楼主收藏回复

this.moveTowardCharacter($gamePlayer);是我在rmmz_objects.js抄来的本事件接近玩家的指令。
放在事件页、第二页的设置移动路线那里的脚本上是报错的,
但是放在事件页自主移动、自定义路线那里,是正常运行的。
this.moveTowardCharacter($gameMap.event(1));是本事件接近1号事件的指令。
放在事件页、第二页的设置移动路线那里的脚本上是报错的,
但是放在事件页自主移动、自定义路线那里,是正常运行的。
以上,没有什么问题,两个地方移动控制的脚本应该是两种调用逻辑。
-----------------------------------------------------------------------------------------------------------------------------
问题是$gamePlayer.moveTowardCharacter($gameMap.event(1));是我根据
this.moveTowardCharacter($gameMap.event(1));修改而来的,是玩家接近1号事件的脚本。
但是放在事件页自主移动、自定义路线那里。就会非常鬼畜,玩家一下子就跑到1号事件那里去了。
(或者是因为没有给它设定速度,它就默认最高速度、最高频率了吧。)
放在事件页、第二页的设置移动路线那里的脚本上,在脚本测试中会报错TypeError Cannot read property 'x' of undefined。。。但是不管它,直接运行的话又是正常的,玩家控制的主角会按照游玩时正常的速度,走到1号事件那里。

这样,就让我很奇怪了。
在事件页中测试明明会报错的脚本,却是可以正常运行。
于是,我想起了我前几天发的帖子-------rpg maker 中用脚本来获取事件的坐标位置是不是错误的------
在那个帖子里,
在projertj1抄来的,获取本事件坐标
$gameMap.events()[this].x
$gameMap.events()[this].y
会报错,但是改成了
$gameMap.events()[this._x]
$gameMap.events()[this._y]
就不会报错了
在projertj1抄来的,获取本事件的区域ID
$gameMap.regionId(x,y)
会报错,但是改成了
$gameMap.regionId(this._x, this._y)
这个格式就不会报错了。
(上面两段改了之后,虽然不再报错,但是好像也没有获取到它应该获取到的数值,很奇怪。)
再结合我在rmmz_objects.js找到
Game_CharacterBase.prototype.regionId = function() {
return $gameMap.regionId(this._x, this._y);
};
就是说,为什么关于获取玩家的坐标和区域ID没有出错,但是获取事件的坐标和区域ID会出错呢?
是因为rpg maker的代码编写出错了吗?
比如,是不是
Game_CharacterBase.prototype.regionId = function() {
return $gameMap.regionId(this._x, this._y);
};
这类的代码,是不是可以改成
Game_CharacterBase.prototype.regionId = function() {
return $gameMap.regionId(this.x, this.y);
};
我不明白的就是这个,有没有人能解答一下呢?


IP属地:广东1楼2023-08-24 00:54回复
    大佬你好,私信你了几个问题


    IP属地:浙江来自iPhone客户端2楼2023-10-02 14:07
    收起回复

      私信服务升级中,新功能敬请期待!
      您可以先扫描左侧二维码,打开或下载App
      使用App端的私信功能,不错过好友消息~


      IP属地:广东3楼2023-10-02 15:12
      回复
        谢谢,我现在已经解决了横版战斗的问题,原来是系统自带的,但是我后续学习中可能会有一些问题,希望能添加你微信,在有空的时候指导我一下再次感谢


        IP属地:浙江来自iPhone客户端4楼2023-10-02 17:42
        收起回复