【RPG Maker MZ/MV】 关于战斗中角色向前移动一步的那些事

如图所示,MZ和MV在横板战斗中,角色在选择行动和执行行动这两处,会向前移动一步。
以MZ为例,可以在rmmz_sprites.js找到这一段:

Sprite_Actor.prototype.shouldStepForward = function() {
    return this._actor.isInputting() || this._actor.isActing();
};

_actor.isInputting即为选择行动时,_actor.isActing即为执行行动时。所以如果只想在行动的时候向前移动只需要改成如下即可:

Sprite_Actor.prototype.shouldStepForward = function() {
    return this._actor.isInputting();
};

这样在CTB等模式中,画面就会精简很多,不会角色乱跳了。

再进阶一下,搜索shouldStepForward,可以看到另一处有以下代码:

/**更新目标位置 */
Sprite_Actor.prototype.updateTargetPosition = function() {
    if (this._actor.canMove() && BattleManager.isEscaped()) {
        this.retreat();
    } else if (this.shouldStepForward()) {/** 需要前进*/
        this.stepForward();//(左)前进48像素
    } else if (!this.inHomePosition()) {/** 不 是处于本位(SV图初始站立位置)*/
        this.stepBack();//返回本位(4次(右)慢走12像素)
    }
};

继续深挖搜索stepForward,找到以下代码:

/**步骤推进 */
Sprite_Actor.prototype.stepForward = function() {
    this.startMove(-48, 0, 12);/** 开始移动*(x坐标,  y坐标,持续时间/帧)*/
};

/**步骤返回 */
Sprite_Actor.prototype.stepBack = function() {
    this.startMove(0, 0, 12);/** 开始移动*(x坐标,  y坐标,持续时间/帧)*/
};

/**撤退 */
Sprite_Actor.prototype.retreat = function() {
    this.startMove(300, 0, 30);/** 开始移动*(x坐标[从当前点开始计算位置,而不是屏幕0,0点],  y坐标,持续时间/帧)*/
};

这些数字就是角色位移距离和持续时间。

继续深挖startMove,找到系统定义的函数:

Sprite_Battler.prototype.startMove = function(x, y, duration) {
    if (this._targetOffsetX !== x || this._targetOffsetY !== y) {
        this._targetOffsetX = x;
        this._targetOffsetY = y;
        this._movementDuration = duration;
        if (duration === 0) {
            this._offsetX = x;
            this._offsetY = y;
        }
    }
};

我们可以打开思路,用这个函数照葫芦画瓢,做一个角色移动到画面中心位置,突出重点等等之类的玩法了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RPG Maker MZ是一款非常强大的角色扮演游戏制作软件,其界面UI插件可以进一步增强用户的制作体验和游戏界面的美观程度。 RPG Maker MZ的UI插件功能非常丰富,包括了角色选择界面、道具商店界面、任务列表界面等等。这些插件允许用户自定义游戏的各种界面,以适应不同的游戏场景和风格。用户可以根据自己的需求和创意,自由调整界面元素的样式、位置和大小,实现个性化的界面设计。 此外,RPG Maker MZ的UI插件还提供了丰富的动画效果和特效,使得游戏界面更加生动和引人注目。用户可以设置角色头像的变化动画、技能释放时的特效效果,甚至是对话框的弹出方式等等。这些特效和动画为游戏增添了更多的互动性和视觉上的享受,提升了游戏的趣味性和可玩性。 对于不懂编程的用户来说,RPG Maker MZ的UI插件提供了简单易用的拖拽式界面编辑功能,使得用户可以轻松地创建独特的游戏界面。用户只需选择所需的界面元素,拖拽到相应的位置即可完成布局,无需编写复杂的代码。这大大降低了游戏制作的门槛,让更多的人能够参与到游戏创作来。 总而言之,RPG Maker MZ的UI插件为用户提供了丰富多样的界面设计和个性化定制功能,让用户可以轻松创建出美观而独特的游戏界面。无论是初学者还是有经验的游戏制作人,都能够通过这些插件设计出令人惊艳的游戏UI。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值