啊。我对四楼的签名上的背景上的大地图很有兴趣。不知道能否共享下。。。 |
-_-b 是我很久以前写的那个么……那个算法挺老的了。还有些别的乱七八糟的问题……不打算自己重写的话按lss删掉passable即可 |
本帖最后由 burst_TNT 于 2010-6-26 01:24 编辑 请把你的脚本“冰面滑行”按照如下红字部分修改(或者你嫌麻烦直接复制下面的脚本替换你的“冰面滑行”也行……建议你自己修改一次,会比较清楚改的是什么地方,如果有新BUG也好进一步修改) class Game_Character def move_down(turn_enabled = true) # 面向下 if turn_enabled turn_down end # 有事件的情况 if check_event(@x, @y) p "ture" # 可以通行的场合 elsif passable?(@x, @y, 2) # 面向下 turn_down # 更新坐标 @y += 1 # 增加步数 increase_steps if $game_map.terrain_tag(@x,@y) == 2 move_down(turn_enabled) #注释掉这行elsif passable?(@x, @y +1, 2) #注释掉这行@y +=1 end # 不能通行的情况下 # else # 接触事件的启动判定 # check_event_trigger_touch(@x, @y + 1) end end def move_left(turn_enabled = true) # 面向左 if turn_enabled turn_left end # 有事件的情况 if check_event(@x, @y) # 可以通行的情况下 elsif passable?(@x, @y, 4) # 面向左 turn_left # 更新坐标 @x -= 1 # 增加步数 increase_steps if $game_map.terrain_tag(@x,@y) == 2 move_left(turn_enabled) #注释掉这行elsif passable?(@x -1, @y, 4) #注释掉这行@x -= 1 end # 不能通行的情况下 # else # 接触事件的启动判定 # check_event_trigger_touch(@x -1, @y) end end def move_right(turn_enabled = true) # 面向右 if turn_enabled turn_right end # 有事件的情况 if check_event(@x, @y) # 可以通行的场合 elsif passable?(@x, @y, 6) # 面向右 turn_right # 更新坐标 @x += 1 # 增加步数 increase_steps if $game_map.terrain_tag(@x,@y) == 2 move_right(turn_enabled) #注释掉这行elsif passable?(@x + 1, @y, 4) #注释掉这行@x += 1 end # 不能通行的情况下 # else # 接触事件的启动判定 # check_event_trigger_touch(@x + 1, @y) end end def move_up(turn_enabled = true) # 面向上 if turn_enabled turn_up end # 有事件的情况 if check_event(@x, @y) # 可以通行的情况下 elsif passable?(@x, @y, 8) # 面向上 turn_up # 更新坐标 @y -= 1 # 歩数増加 increase_steps if $game_map.terrain_tag(@x,@y) == 2 move_up(turn_enabled) #注释掉这行elsif passable?(@x, @y - 1, 8) #注释掉这行@y -= 1 end # 不能通行的情况下 # else # 接触事件的启动判定 # check_event_trigger_touch(@x, @y -1) end end end |
我估计是地形标识有关。但是具体怎么解决我还真没办法。。。 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-14 02:57
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.