Project1

标题: 限制移动方向的区域 [打印本页]

作者: 三途亚梦    时间: 2015-6-5 19:16
标题: 限制移动方向的区域
本帖最后由 三途亚梦 于 2015-6-30 20:52 编辑

类似图例这样绘制区域即可达到一个类似泳池的效果;
其中地面是“○”通行度,水域是“×”通行度且开启了“≈”属性,在楼梯处设置一个事件用来开启/关闭玩家的穿透。


动图效果:


RUBY 代码复制
  1. #==============================================================================
  2. # +++ 限制移动方向的特定区域 +++
  3. #==============================================================================
  4. # 提问区应求 By 三途亚梦
  5. # 原帖地址:[url=https://rpg.blue/thread-379688-1-1.html]https://rpg.blue/thread-379688-1-1.html[/url]
  6. #==============================================================================
  7. # 本脚本的作用给区域自定义不同方向的通行。
  8. #==============================================================================
  9. #
  10. # ★在Nopassaingregion按照[区域ID, 通行方向的ID]
  11. #  的格式写下数值就能使得特定区域的图块不可通行。
  12. #
  13. #  其中代表通行方向的ID为:
  14. #  向下(2) 向左(4) 向右(6) 向上 (8)
  15. #
  16. #==============================================================================
  17. module Amu
  18.   module Region_Nopassaing
  19.  
  20.   Nopassaingregion = [[11, 2], [12, 4], [13, 6], [14, 8],
  21.                       [15, 8, 4], [16, 8, 6], [17, 2, 4], [18, 2, 6]]
  22.   #这里默认使用了11~18号区域,分别为
  23.   #11禁止向下;12禁止向左;13禁止向右;14禁止向上
  24.   #15禁止向上和向左;16禁止向上向右;17禁止向下向左;18禁止向下向右。
  25.  
  26.   end
  27. end
  28.  
  29. class Game_CharacterBase
  30.   #--------------------------------------------------------------------------
  31.   # ● 判定是否可以通行(检查 地图的通行度 和 前方是否有路障)
  32.   #     d : 方向(2,4,6,8)
  33.   #--------------------------------------------------------------------------
  34.   alias amu_passable_without_region? passable?
  35.   def passable?(x, y, d)
  36.     regions = Amu::Region_Nopassaing::Nopassaingregion
  37.     return false if regions.any? {|r| r[0] == $game_map.region_id(x, y) && (1..(r.size-1)).any? {|i| r[i] == d}}
  38.     amu_passable_without_region?(x, y, d)
  39.   end
  40. end

QQ截图20150606004622.jpg (389.98 KB, 下载次数: 30)

QQ截图20150606004622.jpg

QQ截图20150606004630.jpg (375.84 KB, 下载次数: 28)

QQ截图20150606004630.jpg

QQ截图20150606004639.jpg (436.64 KB, 下载次数: 31)

QQ截图20150606004639.jpg

作者: chd114    时间: 2015-6-21 10:21
用道具强行从其他地方下去泳池会怎样···不就直接淹死了吗www,如果一个地图有多个泳池的话还是直接画区域在泳池里吧?反正已经做成限制移动方向了




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