Project1

标题: 如何设置NPC在一定范围内随机移动 [打印本页]

作者: 277297575    时间: 2010-7-30 10:17
标题: 如何设置NPC在一定范围内随机移动
以前好像有过,不过现在找不见了,
比如可以设置NPC在4*5的地方内随机移动,
不然一个地图的人都乱跑,找人麻烦.
作者: 逸豫    时间: 2010-7-30 11:41
  1. class Game_Character
  2.   alias ini initialize
  3.   def initialize
  4.     ini
  5.     @start_x = @x
  6.     @start_y = @y
  7.   end
  8.   alias mtr move_type_random
  9.   def move_type_random
  10.     if @limit_x != nil && @limit_y != nil
  11.       if (@x - @start_x).abs >= @limit_x
  12.         if (@x - @start_x) > 0
  13.           move_left
  14.           return
  15.         elsif (@x - @start_x) < 0
  16.           move_right
  17.           return
  18.         end
  19.       end
  20.       if (@y - @start_y).abs >= @limit_y
  21.         if (@y - @start_y) > 0
  22.           move_left
  23.           return
  24.         elsif (@y - @start_y) < 0
  25.           move_right
  26.           return
  27.         end
  28.       end
  29.     end
  30.     mtr
  31.   end
  32.   alias mt moveto
  33.   def moveto(x, y)
  34.     mt(x,y)
  35.     @start_x = x
  36.     @start_y = y
  37.   end
  38. end
  39. class Game_Event
  40.   alias init initialize
  41.   def initialize(map_id,event)
  42.     @limit_x = event.name.split(/@/).at(1).to_i
  43.     @limit_y = event.name.split(/@/).at(2).to_i
  44.     init(map_id,event)
  45.   end
  46. end
复制代码
设置方法:事件名称设置为
事件名称@X限制@Y限制
作者: memory    时间: 2010-7-30 11:48
提示: 作者被禁止或删除 内容自动屏蔽




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