Project1

标题: 多格行走图/事件如何设置? [打印本页]

作者: 77767264    时间: 2018-4-14 11:25
标题: 多格行走图/事件如何设置?
本帖最后由 77767264 于 2018-4-14 11:27 编辑



像图中这样,一个3x3的体型较大的boss之类的,进行对话只能在事件设置的红色区域有效,其他位置对话没有效果,怎么才能让整个3x3的事件行走图都响应一个事件呢?
作者: 灯笼菜刀王    时间: 2018-4-14 12:40
本帖最后由 灯笼菜刀王 于 2018-4-14 12:51 编辑

先说一句, 不管你的行走图有多大,其实它的判定也一样是一个格子的....

所以, 你的问题其实很简单, 直接设置就OK了, 因为只要显示BOSS的事件处于红色格子上面的那一格,且BOSS是脸朝下的,那就一定要站到红色格子上而且主角还要脸朝上和它对话才会触发事件.

如果因为素材问题,显示行走图的地点不是你想对话的地点,那就在额外做个空白的事件放到要对话的地方,  把对话事件做到这个事件里就好了, 还可以加上主角的朝向判断, 模拟出正面对话的环境.
---------------------------------------------------------------------------

扩展, 咱擅自猜测, 你的本意是要用事件添满BOSS周围, 避免人可以从BOSS身上穿过去.....

如果BOSS是不动的,那实现起来不难, 先找个你的图块里空白的格子,把它设置为不可通行, 然后把事件用这个图块当行走图铺到BOSS周围就可以了.

要同时控制这些事件, 可以用一个开关统一控制, 或者用 $game_self_switches[[地图ID,事件编号,"独立开关"]] = true\false 来控制其他事件的独立开关.

如果BOSS能动的话.......  用个并列执行 判断它本体事件的坐标, 然后用$game_map.events[编号].moveto(x,y) 一个一个把占坑事件移到相应的位置上应该可以
作者: guoxiaomi    时间: 2018-4-24 20:03
Game_Event里面的 check_event_trigger_touch 中改一下就OK~
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 接触事件启动判定
  3.   #--------------------------------------------------------------------------
  4.   def check_event_trigger_touch(x, y)
  5.     # 事件执行中的情况下
  6.     if $game_system.map_interpreter.running?
  7.       return
  8.     end
  9.     # 目标为 [与事件接触] 以及和主角坐标一致的情况下
  10.     if @trigger == 2 and x == $game_player.x and y == $game_player.y
  11.       # 除跳跃中以外的情况、启动判定就是正面的事件
  12.       if not jumping? and not over_trigger?
  13.         start
  14.       end
  15.     end
  16.   end





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