Project1

标题: 修改默认脚本时出现的一个问题 [打印本页]

作者: tk4215342    时间: 2013-4-17 18:21
标题: 修改默认脚本时出现的一个问题
本帖最后由 tk4215342 于 2013-5-6 12:21 编辑
  1. #--------------------------------------------------------------------------
  2.   # ● 移动类型 : 接近
  3.   #--------------------------------------------------------------------------
  4.   def move_type_toward_player
  5.     # 求得与主角坐标的差
  6.    sx = @x - $game_player.x
  7.     sy = @y - $game_player.y
  8.     # 求得差的绝对值
  9.    abs_sx = sx > 0 ? sx : -sx
  10.     abs_sy = sy > 0 ? sy : -sy
  11.     # 如果纵横共计离开 20 个元件
  12.     if sx + sy >= 20
  13.       # 随机
  14.       move_random
  15.       return
  16.     elsif sx + sy <= 3
  17.       # 求得差的绝对值
  18.     px = @x - $game_player.x
  19.       py = @y - $game_player.y
  20.       # 各种朝向时的处理
  21.       case $game_player.direction
  22.       when 2
  23.         py -= 1
  24.       when 4
  25.         px += 1
  26.       when 6
  27.         px -= 1
  28.       when 8
  29.         py += 1
  30.       end
  31.       #跳跃
  32.       jump (-px,-py)
  33.       return
  34.     else
  35.     # 随机 0~5 的分支
  36.     case rand(6)
  37.       when 0..3  # 接近主角
  38.         move_toward_player
  39.       when 4  # 随机
  40.         move_random
  41.       when 5  # 前进一步
  42.         move_forward      
  43.       end
  44.     end
  45.   end
复制代码
这段脚本来自修改后的Game_Character 2,本打算让怪物在距离主角3个地图元件时跳到主角面前,但实际效果是只要在地图内,怪物就会跳过去,请问究竟出了什么问题?
作者: joe5491    时间: 2013-4-17 18:33
第12跟第16行,是abs_sx跟abs_sy,不是sx跟sy
不然你絕對值是求假的阿...





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1