赞 | 406 |
VIP | 0 |
好人卡 | 11 |
积分 | 390 |
经验 | 242285 |
最后登录 | 2024-11-29 |
在线时间 | 5725 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 39034
- 在线时间
- 5725 小时
- 注册时间
- 2006-11-10
- 帖子
- 6622
|
本帖最后由 灯笼菜刀王 于 2018-6-3 20:57 编辑
这么毕加索的图,有发和没发都差不多....... 反正都没办法从图上得到什么信息.... 不过好歹知道你是有用心的.....那咱就用心的说明
改接触判定的话, 到game player 里面 找到这段
#--------------------------------------------------------------------------
# ● 接触事件启动判定
#--------------------------------------------------------------------------
def check_event_trigger_touch(x, y)
result = false
# 事件执行中的情况下
if $game_system.map_interpreter.running?
return result
end
# 全事件的循环
for event in $game_map.events.values
# 事件坐标与目标一致的情况下
if event.x == x and event.y == y and [1,2].include?(event.trigger)
# 跳跃中以外的情况下、启动判定是正面的事件
if not event.jumping? and not event.over_trigger?
event.start
result = true
end
end
end
return result
end
蓝色的这段就是坐标判断, 它的意思是,
当 事件的X 等于 X and 事件的Y 等于 Y and 事件的目标符合(与主角接触,与事件接触) 的情况下
改动前面X和Y的算法就可以自定义它的范围了.
给你个栗子:
如果把 event.x == x 改为 (event.x - x).abs <= 3 #意思自己F1搜索
那就变成 事件在距离主角 横向 3 格内 接触 就会触发
另外,直接这样改的话,你所有事件都会变成大范围触发, 所以,前面还要加个判断, 当event.id == XX的时候, 才用修改版的坐标, 否则就用平时的坐标
如果你能自己搞定这段, 咱就教你一个[用备注自定义任何事件的接触范围] 方法
想做动作游戏,先过了坐标判定关, 砍八路,骚年. |
|