赞 | 406 |
VIP | 0 |
好人卡 | 11 |
积分 | 390 |
经验 | 242285 |
最后登录 | 2024-11-15 |
在线时间 | 5717 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 39016
- 在线时间
- 5717 小时
- 注册时间
- 2006-11-10
- 帖子
- 6619
|
本帖最后由 灯笼菜刀王 于 2019-11-15 10:33 编辑
可以啊, 单纯的加判定很简单 找到 Game_Character 3 这个脚本(你也一样是这里)
#--------------------------------------------------------------------------
# ● 向左下移动
#--------------------------------------------------------------------------
def move_lower_left
# 没有固定面向的场合
unless @direction_fix
# 朝向是右的情况下适合的面是左面、朝向是上的情况下适合的面是下面
@direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
end
# 下→左、左→下 的通道可以通行的情况下
if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 4)) or
(passable?(@x, @y, 4) and passable?(@x - 1, @y, 2))
# 更新坐标
@x -= 1
@y += 1
# 增加步数
increase_steps
end
if @direction == 4 and !passable?(@x-1, @y, 6)
check_event_trigger_touch(@x-1, @y)
end
if @direction == 2 and !passable?(@x, @y+1, 8)
check_event_trigger_touch(@x, @y+1)
end
end
加上这两句就可以了 @direction == 2 意思是 朝向为2的时候,也就是朝下, !passable?(@x, @y+1, 8) 表示 自身 坐标的X,Y+1,朝上 的位置不可通行的情况下(也就是自己下面一格不能从上面进去的时候)
check_event_trigger_touch(@x, @y+1) 这句是接触启动括号内坐标的事件,
这一段的意思就是 当朝向为2 and 自己下方一格不能从方向8进去的时候(也就是不能通行), 调用接触启动事件
下面的 右下 左上 右上 也加上同样的两句(要改一下朝向和坐标)
然后去体验下效果, 我只能提醒你, 结果可能和你想象的不一样 |
评分
-
查看全部评分
|