Project1

标题: 事件和显示、消除图片的问题 [打印本页]

作者: 青黛·火雨    时间: 2016-6-5 00:11
标题: 事件和显示、消除图片的问题
本帖最后由 青黛·火雨 于 2016-6-5 15:41 编辑

怎样让玩家处于这个事件所在的格子时一直显示图片,而只要玩家一走开和事件分离就消除图片?
而且,这个地图里我准备做多个这种事件。
作者: 52129848    时间: 2016-6-5 07:37
1页  等待10帧   A开启
2         显示图片   当按下时 图片消失 A关闭  重复!
作者: H·H·Y    时间: 2016-6-5 10:38
记得并行处理


作者: jianyulei    时间: 2016-6-5 14:49
做个显示图片的接触事件,然后做4个图片消失的接触事件将这个事件围起来
作者: jianyulei    时间: 2016-6-5 18:18
本帖最后由 jianyulei 于 2016-6-5 18:22 编辑
jianyulei 发表于 2016-6-5 14:49
做个显示图片的接触事件,然后做4个图片消失的接触事件将这个事件围起来


如果你的事件触发的图片都是一样的话,那就用区域+并行,将所有显示图片的地点加上区域1,然后都用区域2将区域1包围起来,用地图的并行事件分歧判断人物所在区域,是1的话就弹出图片,是2的话就消除图片


你也可以研究下这个脚本:
RUBY 代码复制
  1. #==============================================================================
  2. # +++ MOG - Event Sensor Range (v1.0) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # [url]http://www.atelier-rgss.com[/url]
  6. #==============================================================================
  7. # Permite que o evento tenha dois comportamentos, de curta distância e de
  8. # longa distância.
  9. #===============================================================================
  10. # - Utilização
  11. # Crie uma página com a condição de ativação Self Switch D, está página será
  12. # usada quando o player estiver perto do evento.
  13. # Defina a area do sensor do evento colocando este nome no evento.
  14. #
  15. # 再事件的名称中(不是备注)包含 <索敌X>    X代表格数,只斜角算2格
  16. # 然后独立开关D会被占用,新建页码,在新建页开启触发条件为“自动执行”,开独立D,就可以了
  17. # X = Area do Sensor
  18. #
  19. #===============================================================================
  20. module MOG_EVENT_SENSOR
  21.   #Definição da letra da Self Switch que ativará a página de curta distância.
  22.   SENSOR_SELF_SWITCH = "D"
  23. end
  24.  
  25. #===============================================================================
  26. # ■ GAME EVENT
  27. #===============================================================================
  28. class Game_Event < Game_Character
  29.  
  30.   attr_reader   :sensor_range
  31.  
  32.   #--------------------------------------------------------------------------
  33.   # ● Initialize
  34.   #--------------------------------------------------------------------------            
  35.   alias mog_event_sensor_initialize initialize
  36.   def initialize(map_id, event)
  37.       mog_event_sensor_initialize(map_id, event)
  38.       setup_event_sensor
  39.   end
  40.  
  41.   #--------------------------------------------------------------------------
  42.   # ● Setup Event Sensor
  43.   #--------------------------------------------------------------------------         
  44.   def setup_event_sensor
  45.       @sensor_range =  @event.name =~ /<索敌(\d+)>/ ? $1.to_i : 0
  46.   end  
  47.  
  48.   #--------------------------------------------------------------------------
  49.   # ● Update
  50.   #--------------------------------------------------------------------------            
  51.   alias mog_event_sensor_update update
  52.   def update
  53.       mog_event_sensor_update
  54.       update_event_sensor
  55.   end  
  56.  
  57.   #--------------------------------------------------------------------------
  58.   # ● Update Sensor
  59.   #--------------------------------------------------------------------------        
  60.   def update_event_sensor
  61.       return if @sensor_range == 0
  62.       distance = ($game_player.x - self.x).abs + ($game_player.y - self.y).abs
  63.       enable   = (distance <= @sensor_range)
  64.       key = [$game_map.map_id, self.id, MOG_EVENT_SENSOR::SENSOR_SELF_SWITCH]
  65.       last_enable = $game_self_switches[key]
  66.       execute_sensor_effect(enable,key) if enable != last_enable
  67.     end
  68.  
  69.   #--------------------------------------------------------------------------
  70.   # ● Execute_Sensor Effect
  71.   #--------------------------------------------------------------------------            
  72.   def execute_sensor_effect(enable,key)      
  73.       @pattern = 0
  74.       @pattern_count = 0               
  75.       $game_self_switches[key] = enable
  76.       self.refresh
  77.   end
  78.  
  79. end
  80.  
  81. $mog_rgss3_event_sensor = true


这个脚本可以让你靠近到某个范围的时候立刻打开独立开关D,然后离开的时候关闭独立开关D,不过适不适合你使用就不知道了
作者: jianyulei    时间: 2016-6-5 21:30
本帖最后由 jianyulei 于 2016-6-5 21:38 编辑

$game_player.region_id == 1
这句话是问玩家所在方格的区域ID是否是1

你也可以先给玩家坐标XY赋值变量,然后进入事件第三页的【获得指定位置的信息】,以XY变量来获取玩家所在的区域
作者: 小鸟小鸟的世界    时间: 2016-6-5 23:57
只要按下方向键人物就会走开,这时就触发消除图片的事件。
那么可以这样


要注意的是事件在墙角及四周有不能行走图块时对分支有相应的去除





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