Project1
标题:
关于事件的绕道
[打印本页]
作者:
飞各大大
时间:
2009-6-11 23:17
标题:
关于事件的绕道
做了一个事件,被角色追赶,当前面是不可通行的图块,那个事件就不动了,如何让它会绕过去呢?
if 1号事件的前面是不可通行的图块,如果可以往左右走的话,就往左或者右走。用脚本怎么写?
[LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
66rpg学习
时间:
2009-6-11 23:30
提示:
作者被禁止或删除 内容自动屏蔽
作者:
飞各大大
时间:
2009-6-11 23:38
我发现接近的敌人事件如果接触主角的话,会围着主角打转。。是不是把主角也当作障碍物了啊?
作者:
66rpg学习
时间:
2009-6-11 23:44
提示:
作者被禁止或删除 内容自动屏蔽
作者:
飞各大大
时间:
2009-6-11 23:59
有点奇怪,这样改的话敌人往上逃会绕道,往下追遇到障碍还是停住了,往左逃会绕道,往右不会绕道。。。我是改成这样的:
##向下:向下走不了,向右可以走,就往右走##
if passable?(@x+1, @y, 6)
if ($game_player.x - @x) > 1 or
($game_player.y - @y ) > 1
move_right if @event != nil
end
end
##向右:向右走不了,向下可以走,就往下走##
if passable?(@x, @y+1, 2)
if ($game_player.x - @x) > 1 or
($game_player.y - @y ) > 1
move_down if @event != nil
end
end
作者:
七夕小雨
时间:
2009-6-12 00:02
楼上正解{/dy}
编辑后……结果已经过了几楼……你们加油……
作者:
飞各大大
时间:
2009-6-12 00:06
把
if passable?(@x, @y+1, 2)
if ($game_player.x - @x) > 1 or
($game_player.y - @y ) > 1
move_down if @event != nil
end
end
再换回
if passable?(@x, @y+1, 2)
move_down if @event != nil #加一个判断,是事件的情况下
end
上下左右的绕道又都正常了!这是怎么回事??
作者:
66rpg学习
时间:
2009-6-12 00:09
提示:
作者被禁止或删除 内容自动屏蔽
作者:
飞各大大
时间:
2009-6-12 00:12
是这样:
class Game_Character
#--------------------------------------------------------------------------
# ● 向下移动
# turn_enabled : 本场地位置更改许可标志
#--------------------------------------------------------------------------
def move_down(turn_enabled = true)
# 面向下
if turn_enabled
turn_down
end
# 可以通行的场合
if passable?(@x, @y, 2)
# 面向下
turn_down
# 更新坐标
@y += 1
# 增加步数
increase_steps
# 不能通行的情况下
else
# 向下走不了,向右可以走,就往右走
if passable?(@x+1, @y, 6)
if ($game_player.x - @x) > 1 or
($game_player.y - @y ) > 1
move_right if @event != nil
end
end
# 接触事件的启动判定
check_event_trigger_touch(@x, @y+1)
end
end
#--------------------------------------------------------------------------
# ● 向左移动
# turn_enabled : 本场地位置更改许可标志
#--------------------------------------------------------------------------
def move_left(turn_enabled = true)
# 面向左
if turn_enabled
turn_left
end
# 可以通行的情况下
if passable?(@x, @y, 4)
# 面向左
turn_left
# 更新坐标
@x -= 1
# 增加步数
increase_steps
# 不能通行的情况下
else
# 向左走不了,向下可以走,就往下走
if passable?(@x, @y+1, 2)
if ($game_player.x - @x) > 1 or
($game_player.y - @y ) > 1
move_down if @event != nil
end
end
# 接触事件的启动判定
check_event_trigger_touch(@x-1, @y)
end
end
#--------------------------------------------------------------------------
# ● 向右移动
# turn_enabled : 本场地位置更改许可标志
#--------------------------------------------------------------------------
def move_right(turn_enabled = true)
# 面向右
if turn_enabled
turn_right
end
# 可以通行的场合
if passable?(@x, @y, 6)
# 面向右
turn_right
# 更新坐标
@x += 1
# 增加部数
increase_steps
# 不能通行的情况下
else
# 向右走不了,向下可以走,就往下走
if passable?(@x, @y+1, 2)
if ($game_player.x - @x) > 1 or
($game_player.y - @y ) > 1
move_down if @event != nil
end
end
# 接触事件的启动判定
check_event_trigger_touch(@x+1, @y)
end
end
#--------------------------------------------------------------------------
# ● 向上移动
# turn_enabled : 本场地位置更改许可标志
#--------------------------------------------------------------------------
def move_up(turn_enabled = true)
# 面向上
if turn_enabled
turn_up
end
# 可以通行的情况下
if passable?(@x, @y, 8)
# 面向上
turn_up
# 更新坐标
@y -= 1
# 歩数増加
increase_steps
# 不能通行的情况下
else
# 向上走不了,向右可以走,就往右走
if passable?(@x+1, @y, 6)
if ($game_player.x - @x) > 1 or
($game_player.y - @y ) > 1
move_right if @event != nil
end
end
# 接触事件的启动判定
check_event_trigger_touch(@x, @y-1)
end
end
复制代码
作者:
66rpg学习
时间:
2009-6-12 00:17
提示:
作者被禁止或删除 内容自动屏蔽
作者:
飞各大大
时间:
2009-6-12 00:23
是了,就是绝对值~的问题
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1