Project1

标题: 限制移动 [打印本页]

作者: q119498229    时间: 2019-10-28 19:07
标题: 限制移动
怎么通过脚本或者什么的,限制玩家的移动或者行动。简单的说,就是不让人物做任何动作,可以使用菜单或者点击。然后通过某个脚本再恢复。
作者: _Mikan    时间: 2019-10-28 20:47
用四个没有图像的、不可穿透的、优先级和人物相同的事件把人物围起来,消除的时候把事件移走或开关转事件页。
作者: q119498229    时间: 2019-10-29 15:14
_Mikan 发表于 2019-10-28 20:47
用四个没有图像的、不可穿透的、优先级和人物相同的事件把人物围起来,消除的时候把事件移走或开关转事件页 ...

这个不适合,我想过 谢谢
作者: wr282828    时间: 2019-10-29 18:26


这里改改试试 我也不确定能不能行  试试看能不能把移动速度设置为0
当12号变量小于0的时候  移动速度为0

Game_CharacterBase.prototype.distancePerFrame = function() {
    if ($gameVariables.value(12) >= 0) {
        return Math.pow(2, this.realMoveSpeed()) / ($gameVariables.value(11)+ 56);     
    }
    else
        return 0;
};



作者: 元泱の蛮吉    时间: 2019-10-29 18:52
善用搜索!

  1. Game_CharacterBase.prototype.updateMove = function() {
  2.         //移动速度为0时不移动
  3.         if (this._moveSpeed === 0) {
  4.                 this.setPosition(this._realX,this._realY);
  5.                 }
  6.     if (this._x < this._realX) {
  7.         this._realX = Math.max(this._realX - this.distancePerFrame(), this._x);
  8.     }
  9.     if (this._x > this._realX) {
  10.         this._realX = Math.min(this._realX + this.distancePerFrame(), this._x);
  11.     }
  12.     if (this._y < this._realY) {
  13.         this._realY = Math.max(this._realY - this.distancePerFrame(), this._y);
  14.     }
  15.     if (this._y > this._realY) {
  16.         this._realY = Math.min(this._realY + this.distancePerFrame(), this._y);
  17.     }
  18.     if (!this.isMoving()) {
  19.         this.refreshBushDepth();
  20.     }
  21. };
复制代码


//然后这个是控制移动速度的
$gamePlayer.setMoveSpeed(0);

https://rpg.blue/thread-403806-1-1.html




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