Project1

标题: 怎么让事件穿透事件,却不穿透主角和不可通行土块? [打印本页]

作者: 路过的恶魔    时间: 2012-8-24 11:08
标题: 怎么让事件穿透事件,却不穿透主角和不可通行土块?
本帖最后由 路过的恶魔 于 2012-8-25 15:37 编辑

我设定了一个类似推箱子的机关,把石头推到按钮上,下一个门打开,里面有另一颗石头开启下一个按钮,但是这颗石头不能从门里推出去,被门这个事件挡住了……如果不能解决的话,我就只能去掉主角站到按钮上也能开门的设定了
作者: 风雪优游    时间: 2012-8-24 11:58
本帖最后由 风雪优游 于 2012-8-24 12:01 编辑

问题有点看不懂,不过看内容吧。

LZ的意思就是要,可以把另一个房间的石头推过门?

试试机关打开后,把门设置成在角色下方看看可行不?
——————————————————————————
或者就做个并行事件
条件分歧如果主角推着石块B
代入变量主角的XY坐标(两变量)
条件分歧变量=XY坐标(门口附近+-2的样子,具体看主角位置)
设置事件移动= =|||
作者: my.0lantulantu0    时间: 2012-8-24 12:59
本帖最后由 my.0lantulantu0 于 2012-8-24 13:04 编辑
  1. #==============================================================================
  2. # ■ Game_Map
  3. #------------------------------------------------------------------------------
  4. #  处理地图的类。包含卷动以及可以通行的判断功能。本类的实例请参考 $game_map 。
  5. #==============================================================================
  6. $DEBUG = false
  7. class Game_Map   
  8.   attr_accessor :points
  9.   attr_accessor :got
  10.   #——————————————————————————————————————
  11.   # 追加自定义,用来初始化地图
  12.   #——————————————————————————————————————
  13.   def ini
  14.     @points = []    #——目标们的id编号
  15.     @got = []       #——成功处在某个位置的id编号,在事件中调用。
  16.     for i in @map.events.keys
  17.       if @map.events[i].name == "目标"
  18.         @points.push(@map.events[i].id)
  19.       end      
  20.     end
  21.   end
  22.   #——————————————————————————————————————
  23.   # 用来判断
  24.   #——————————————————————————————————————
  25.   def judge(event_id)
  26.     for i in 0...$game_map.points.size
  27.       if $game_map.events[@points[i]].x==$game_map.events[event_id].x and
  28.         $game_map.events[@points[i]].y==$game_map.events[event_id].y
  29.         return true
  30.       end
  31.     end
  32.     return false
  33.   end
  34. end
  35. #==============================================================================
  36. # ■ Game_Event
  37. #------------------------------------------------------------------------------
  38. #  处理事件的类。条件判断、事件页的切换、并行处理、执行事件功能
  39. # 在 Game_Map 类的内部使用。
  40. #==============================================================================
  41. class Game_Event < Game_Character
  42.   #——————————————————————————————————————
  43.   # 用来返回名称
  44.   #——————————————————————————————————————
  45.   def name
  46.     return @event.name
  47.   end  
  48. end
复制代码



过场后执行        “$game_map.ini ”一下就ok

[line]8[/line]

可以学习一下 http://www.66rpg.com/articles/17 中的做法       《—— 柳大制作 兼容性很好哦(XP,VX,VA基本无需改动均可使用)

作者: 路过的恶魔    时间: 2012-8-24 13:10
好吧,我自己设置了一下事件,让门的事件向左右移动一下,不挡着石头的路……勉强能行……




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