Project1

标题: 关于碰撞的脚本 [打印本页]

作者: if216    时间: 2019-1-28 11:20
标题: 关于碰撞的脚本
本帖最后由 if216 于 2019-1-28 18:40 编辑

找了半天才找到。。。记录备份在此

//判断角色和角色是否碰撞
Game_CharacterBase.prototype.isCollidedWithCharacters = function(x, y) {
     return this.isCollidedWithEvents(x, y) || this.isCollidedWithVehicles(x, y);
};

//判断角色和事件是否碰撞
Game_CharacterBase.prototype.isCollidedWithEvents = function(x, y) {
      var events = $gameMap.eventsXyNt(x, y);
      return events.some(function(event) {
....
  };

//判断事件和事件是否碰撞
Game_Event.prototype.isCollidedWithEvents = function(x, y) {

//判断某一图块是否可通行
Game_CharacterBase.prototype.isMapPassable = function(x, y, d) {
    var x2 = $gameMap.roundXWithDirection(x, d);
    var y2 = $gameMap.roundYWithDirection(y, d);
    var d2 = this.reverseDir(d);
    return $gameMap.isPassable(x, y, d) && $gameMap.isPassable(x2, y2, d2);
};



跟角色有关的,用$gamePlayer直接调用。如 $gamePlayer.isCollidedWithEvents(x,y)

跟事件有关的要先得到事件,用事件调用。
如:$gameMap.event(eventID).isCollidedWithEvents(x,y)
或:$gameMap.eventIdXy(x, y).isCollidedWithEvents(x,y)

还不会用的话。。。看图





作者: 白嫩白嫩的    时间: 2019-1-28 14:54
哇 这个太棒了,可以写个npc大乱斗的场景了
作者: 黑舞嗜    时间: 2019-1-28 14:56
那么问题来了,怎么用呢,比如事件与事件碰撞
作者: if216    时间: 2019-1-28 14:59
黑舞嗜 发表于 2019-1-28 14:56
那么问题来了,怎么用呢,比如事件与事件碰撞

你需要先看这个:
https://rpg.blue/thread-405671-1-1.html
作者: if216    时间: 2019-1-28 15:02
跟角色有关的,用$gamePlayer直接调用。如 $gamePlayer.isCollidedWithEvents(x,y)

跟事件有关的要先得到事件,用事件调用。
如:$gameMap.event(eventID).isCollidedWithEvents(x,y)
或:$gameMap.eventIdXy(x, y).isCollidedWithEvents(x,y)
作者: 黑舞嗜    时间: 2019-1-28 15:48
恕我愚钝....即使取得了事件,这个条件分歧也还是不会用额..里面就只有x和y,难道不应该是填两个事件的ID么,这个没有例子真看不懂...
作者: if216    时间: 2019-1-28 18:42
黑舞嗜 发表于 2019-1-28 15:48
恕我愚钝....即使取得了事件,这个条件分歧也还是不会用额..里面就只有x和y,难道不应该是填两个事件的ID么 ...

看图吧,范例是不可能放了。我本身不会这样做。纯粹演示。
作者: 戏蹑群星斗    时间: 2019-1-29 21:15
我找到一个插件,应该能帮助你的工作
https://forums.rpgmakerweb.com/i ... on-detection.58568/
作者: URUUR    时间: 2019-2-1 20:24
用在射击类ARPG上估计能省好几页事件和独立开关
作者: Zeldashu    时间: 2020-4-14 13:20
本质还是判定坐标。不过倒是省了几个变量。
作者: guidayu    时间: 2021-6-23 21:54
多谢大佬!!正在做ARPG,就在头疼怎么判定碰撞!




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