设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 8756|回复: 12
打印 上一主题 下一主题

[原创发布] 关于碰撞的脚本

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7592
在线时间
1227 小时
注册时间
2008-12-14
帖子
555
跳转到指定楼层
1
发表于 2019-1-28 11:20:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 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)

还不会用的话。。。看图




评分

参与人数 3+3 收起 理由
黑舞嗜 + 1 精品文章
康姆图帕帕 + 1 塞糖
白嫩白嫩的 + 1 精品文章

查看全部评分

需要购买本人MV插件必须先加wx好友。加不上wx就是本人忙,没时间卖。原则上太久以前的插件也不想卖,因为我也忘了,维护上会不给力。wx名:alskyif    本人插件地址:
   LCK_SRPG梦幻模拟战、火焰纹章类系统
   究极立绘ADV系统

   究极换装统合系统
   究极! 回想与CG系统
   消息文字的距离调整  
   自动返回上一张地图

Lv3.寻梦者

梦石
0
星屑
3730
在线时间
1176 小时
注册时间
2016-8-9
帖子
2395

开拓者

2
发表于 2019-1-28 14:54:19 | 只看该作者
哇 这个太棒了,可以写个npc大乱斗的场景了
酸酸甜甜就④哇噢
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1433
在线时间
1705 小时
注册时间
2011-8-17
帖子
818
3
发表于 2019-1-28 14:56:33 | 只看该作者
那么问题来了,怎么用呢,比如事件与事件碰撞
roguelike求生RPG研发中....
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7592
在线时间
1227 小时
注册时间
2008-12-14
帖子
555
4
 楼主| 发表于 2019-1-28 14:59:18 | 只看该作者
黑舞嗜 发表于 2019-1-28 14:56
那么问题来了,怎么用呢,比如事件与事件碰撞

你需要先看这个:
https://rpg.blue/thread-405671-1-1.html

点评

OK 感谢~~~  发表于 2019-1-28 15:28
需要购买本人MV插件必须先加wx好友。加不上wx就是本人忙,没时间卖。原则上太久以前的插件也不想卖,因为我也忘了,维护上会不给力。wx名:alskyif    本人插件地址:
   LCK_SRPG梦幻模拟战、火焰纹章类系统
   究极立绘ADV系统

   究极换装统合系统
   究极! 回想与CG系统
   消息文字的距离调整  
   自动返回上一张地图
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7592
在线时间
1227 小时
注册时间
2008-12-14
帖子
555
5
 楼主| 发表于 2019-1-28 15:02:46 | 只看该作者
跟角色有关的,用$gamePlayer直接调用。如 $gamePlayer.isCollidedWithEvents(x,y)

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

点评

$gameMap.eventIdXy(x, y).isCollidedWithEvents(x,y)这段脚本如何理解,eventIdXy指的是哪个事件的xy?  发表于 2020-4-14 17:11
需要购买本人MV插件必须先加wx好友。加不上wx就是本人忙,没时间卖。原则上太久以前的插件也不想卖,因为我也忘了,维护上会不给力。wx名:alskyif    本人插件地址:
   LCK_SRPG梦幻模拟战、火焰纹章类系统
   究极立绘ADV系统

   究极换装统合系统
   究极! 回想与CG系统
   消息文字的距离调整  
   自动返回上一张地图
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1433
在线时间
1705 小时
注册时间
2011-8-17
帖子
818
6
发表于 2019-1-28 15:48:31 | 只看该作者
恕我愚钝....即使取得了事件,这个条件分歧也还是不会用额..里面就只有x和y,难道不应该是填两个事件的ID么,这个没有例子真看不懂...
roguelike求生RPG研发中....
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7592
在线时间
1227 小时
注册时间
2008-12-14
帖子
555
7
 楼主| 发表于 2019-1-28 18:42:35 | 只看该作者
黑舞嗜 发表于 2019-1-28 15:48
恕我愚钝....即使取得了事件,这个条件分歧也还是不会用额..里面就只有x和y,难道不应该是填两个事件的ID么 ...

看图吧,范例是不可能放了。我本身不会这样做。纯粹演示。
需要购买本人MV插件必须先加wx好友。加不上wx就是本人忙,没时间卖。原则上太久以前的插件也不想卖,因为我也忘了,维护上会不给力。wx名:alskyif    本人插件地址:
   LCK_SRPG梦幻模拟战、火焰纹章类系统
   究极立绘ADV系统

   究极换装统合系统
   究极! 回想与CG系统
   消息文字的距离调整  
   自动返回上一张地图
回复 支持 1 反对 0

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5639
在线时间
958 小时
注册时间
2015-2-6
帖子
161

开拓者

8
发表于 2019-1-29 21:15:06 | 只看该作者
我找到一个插件,应该能帮助你的工作
https://forums.rpgmakerweb.com/i ... on-detection.58568/
此书生之言,可言而不可用也 ↑-_-||

仓管610早晚班,没多余精力做别的了 →_→
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1844
在线时间
254 小时
注册时间
2018-7-5
帖子
78
9
发表于 2019-2-1 20:24:32 | 只看该作者
用在射击类ARPG上估计能省好几页事件和独立开关
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
21982
在线时间
1057 小时
注册时间
2019-3-5
帖子
1424
10
发表于 2020-4-14 13:20:58 | 只看该作者
本质还是判定坐标。不过倒是省了几个变量。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-15 02:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表