Project1

标题: 请问如何让角色临时拥有穿过河流等地形的能力? [打印本页]

作者: Fuehrer    时间: 2015-5-25 19:15
标题: 请问如何让角色临时拥有穿过河流等地形的能力?
直到开始尝试学习制作才发现,很多以前觉得稀松平常的事情想要实现起来都要费不小的周折。
这次想要求教的问题是,如何让角色拥有临时通过某地形(比如河流、岩浆等)的能力?
百思不得其解。如果通过设置图块的通行性,那么势必影响全局。可是如果设置开启穿透呢,又会穿到别的地方去。
另外,如果能够临时穿过地形,通过持有某物来判定条件还好说,如果是通过消耗物品或者使用技能来实现呢?

作者: 长弓巡洋集团    时间: 2015-5-25 19:25
第一可能,在B-E图块图层中刷入可通行的透明图块
第二可能,条件分歧XXX,事件设置移动路线,跳跃......
第三可能,在条件分歧下,铺上非透明的事件图(例如桥,可能在黄色小圈里找),设置为可穿透
作者: Fuehrer    时间: 2015-5-25 19:32
长弓巡洋集团 发表于 2015-5-25 19:25
第一可能,在B-E图块图层中刷入可通行的透明图块
第二可能,条件分歧XXX,事件设置移动路线,跳跃......
第 ...

多谢!思前想后,第二条最符合我所需的,那一段可以设定为剧情。
作者: VIPArcher    时间: 2015-5-25 19:34
本帖最后由 VIPArcher 于 2015-5-25 19:36 编辑

可以利用开关和区域,这里是个示范
1号开关开启时,1号区域变为可通行区域
  1. class Game_Map
  2.   alias vip150525_passable? passable?
  3.   def passable?(x, y, d)
  4.     if $game_switches[1]
  5.       case d
  6.       when 2 ;rx, ry = x, y + 1
  7.       when 4 ;rx, ry = x - 1, y
  8.       when 6 ;rx, ry = x + 1, y
  9.       when 8 ;rx, ry = x, y - 1
  10.       else end
  11.       region_id(rx, ry) == 1 or vip150525_passable?(x, y, d)
  12.     else
  13.       vip150525_passable?(x, y, d)
  14.     end
  15.   end
  16. end
复制代码
未测试




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