赞 | 204 |
VIP | 13 |
好人卡 | 7 |
积分 | 122 |
经验 | 52899 |
最后登录 | 2021-6-29 |
在线时间 | 4435 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 12157
- 在线时间
- 4435 小时
- 注册时间
- 2014-4-11
- 帖子
- 5955
|
你觉得这个走路方式怎么样。跳上箱子我还不知道怎么写。
#============================================================================== # ■ Game_Character (接近专定义) #------------------------------------------------------------------------------ # 处理角色的类。本类作为 Game_Player 类与 Game_Event # 类的超级类使用。 #============================================================================== # 使用方法: # 在设置事件移动那里改为自定义,路线为:toward_player_add(x范围,y范围) #============================================================================== class Game_Character def toward_player_add(x = 1,y = 1) # 求得与主角坐标的差 sx = (@x - $game_player.x).abs sy = (@y - $game_player.y).abs if sx <= x and sy <= y unless passable?(@x, @y, 2) if passable?(@x, @y, 4) move_left end if passable?(@x, @y, 6) move_right end if passable?(@x, @y, 8) move_up end end unless passable?(@x, @y, 4) if passable?(@x, @y, 2) move_down end if passable?(@x, @y, 6) move_right end if passable?(@x, @y, 8) move_up end end unless passable?(@x, @y, 6) if passable?(@x, @y, 2) move_down end if passable?(@x, @y, 4) move_left end if passable?(@x, @y, 8) move_up end end unless passable?(@x, @y, 8) if passable?(@x, @y, 2) move_down end if passable?(@x, @y, 4) move_left end if passable?(@x, @y, 6) move_right end end move_away_from_player else move_random end end end
#==============================================================================
# ■ Game_Character (接近专定义)
#------------------------------------------------------------------------------
# 处理角色的类。本类作为 Game_Player 类与 Game_Event
# 类的超级类使用。
#==============================================================================
# 使用方法:
# 在设置事件移动那里改为自定义,路线为:toward_player_add(x范围,y范围)
#==============================================================================
class Game_Character
def toward_player_add(x = 1,y = 1)
# 求得与主角坐标的差
sx = (@x - $game_player.x).abs
sy = (@y - $game_player.y).abs
if sx <= x and sy <= y
unless passable?(@x, @y, 2)
if passable?(@x, @y, 4)
move_left
end
if passable?(@x, @y, 6)
move_right
end
if passable?(@x, @y, 8)
move_up
end
end
unless passable?(@x, @y, 4)
if passable?(@x, @y, 2)
move_down
end
if passable?(@x, @y, 6)
move_right
end
if passable?(@x, @y, 8)
move_up
end
end
unless passable?(@x, @y, 6)
if passable?(@x, @y, 2)
move_down
end
if passable?(@x, @y, 4)
move_left
end
if passable?(@x, @y, 8)
move_up
end
end
unless passable?(@x, @y, 8)
if passable?(@x, @y, 2)
move_down
end
if passable?(@x, @y, 4)
move_left
end
if passable?(@x, @y, 6)
move_right
end
end
move_away_from_player
else
move_random
end
end
end
|
评分
-
查看全部评分
|