查看: 2345|回复: 6

[已经解决] 事件和显示、消除图片的问题

[复制链接]
梦石
0
星屑
50
在线时间
16 小时
注册时间
2016-6-2
回帖
12
发表于 2016-6-5 00:11:07 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 青黛·火雨 于 2016-6-5 15:41 编辑

怎样让玩家处于这个事件所在的格子时一直显示图片,而只要玩家一走开和事件分离就消除图片?
而且,这个地图里我准备做多个这种事件。
梦石
0
星屑
480
在线时间
97 小时
注册时间
2016-4-5
回帖
92
发表于 2016-6-5 07:37:16 | 显示全部楼层
1页  等待10帧   A开启
2         显示图片   当按下时 图片消失 A关闭  重复!

点评

第二页我看得不是很明白,可以截图给我示范一下吗?  发表于 2016-6-5 15:04
回复

使用道具 举报

梦石
0
星屑
2310
在线时间
5539 小时
注册时间
2011-1-10
回帖
6353

青铜编剧史诗剧作家剧作品鉴家

发表于 2016-6-5 10:38:50 | 显示全部楼层
记得并行处理

QQ截图20160605103801.png

点评

……你想要多少  发表于 2016-6-5 15:47
这样子,一个地图就只能有一个这种事件啊……  发表于 2016-6-5 15:34
回复

使用道具 举报

梦石
0
星屑
2920
在线时间
713 小时
注册时间
2010-7-25
回帖
659

开拓者

发表于 2016-6-5 14:49:29 | 显示全部楼层
做个显示图片的接触事件,然后做4个图片消失的接触事件将这个事件围起来

点评

我这个地图里有很多个显示图片的事件,按这种方法有点卡……  发表于 2016-6-5 15:38
回复

使用道具 举报

梦石
0
星屑
2920
在线时间
713 小时
注册时间
2010-7-25
回帖
659

开拓者

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


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


你也可以研究下这个脚本:
[pre lang="ruby"]#==============================================================================
# +++ MOG - Event Sensor Range (v1.0) +++
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com
#==============================================================================
# Permite que o evento tenha dois comportamentos, de curta distância e de
# longa distância.
#===============================================================================
# - Utilização
# Crie uma página com a condição de ativação Self Switch D, está página será
# usada quando o player estiver perto do evento.
# Defina a area do sensor do evento colocando este nome no evento.
#
# 再事件的名称中(不是备注)包含 <索敌X>    X代表格数,只斜角算2格
# 然后独立开关D会被占用,新建页码,在新建页开启触发条件为“自动执行”,开独立D,就可以了
# X = Area do Sensor
#
#===============================================================================
module MOG_EVENT_SENSOR
  #Definição da letra da Self Switch que ativará a página de curta distância.
  SENSOR_SELF_SWITCH = "D"
end

#===============================================================================
# ■ GAME EVENT
#===============================================================================
class Game_Event < Game_Character
  
  attr_reader   :sensor_range
  
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------            
  alias mog_event_sensor_initialize initialize
  def initialize(map_id, event)
      mog_event_sensor_initialize(map_id, event)
      setup_event_sensor
  end
  
  #--------------------------------------------------------------------------
  # ● Setup Event Sensor
  #--------------------------------------------------------------------------         
  def setup_event_sensor
      @sensor_range =  @event.name =~ /<索敌(\d+)>/ ? $1.to_i : 0
  end  
  
  #--------------------------------------------------------------------------
  # ● Update
  #--------------------------------------------------------------------------            
  alias mog_event_sensor_update update
  def update
      mog_event_sensor_update
      update_event_sensor
  end  
  
  #--------------------------------------------------------------------------
  # ● Update Sensor
  #--------------------------------------------------------------------------        
  def update_event_sensor
      return if @sensor_range == 0
      distance = ($game_player.x - self.x).abs + ($game_player.y - self.y).abs
      enable   = (distance <= @sensor_range)
      key = [$game_map.map_id, self.id, MOG_EVENT_SENSOR::SENSOR_SELF_SWITCH]
      last_enable = $game_self_switches[key]
      execute_sensor_effect(enable,key) if enable != last_enable
    end

  #--------------------------------------------------------------------------
  # ● Execute_Sensor Effect
  #--------------------------------------------------------------------------            
  def execute_sensor_effect(enable,key)      
      @pattern = 0
      @pattern_count = 0               
      $game_self_switches[key] = enable
      self.refresh
  end
   
end

$mog_rgss3_event_sensor = true[/pre]

这个脚本可以让你靠近到某个范围的时候立刻打开独立开关D,然后离开的时候关闭独立开关D,不过适不适合你使用就不知道了

点评

怎么用地图的并行事件分歧判断人物所在区域呢,在事件的条件分歧里找不到判定所在区域的按钮啊!  发表于 2016-6-5 19:08
回复

使用道具 举报

梦石
0
星屑
2920
在线时间
713 小时
注册时间
2010-7-25
回帖
659

开拓者

发表于 2016-6-5 21:30:10 | 显示全部楼层
本帖最后由 jianyulei 于 2016-6-5 21:38 编辑

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

你也可以先给玩家坐标XY赋值变量,然后进入事件第三页的【获得指定位置的信息】,以XY变量来获取玩家所在的区域

点评

达到我想要的效果了!谢谢!!!  发表于 2016-6-6 07:19

评分

参与人数 1星屑 +150 收起 理由
VIPArcher + 150 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
101 小时
注册时间
2014-4-25
回帖
22
发表于 2016-6-5 23:57:18 | 显示全部楼层
只要按下方向键人物就会走开,这时就触发消除图片的事件。
那么可以这样 搜狗截图20160605235000.png
搜狗截图20160605235036.png
搜狗截图20160605235044.png
要注意的是事件在墙角及四周有不能行走图块时对分支有相应的去除

点评

已经有更简便的方法了,不好意思哦。  发表于 2016-6-6 07:21
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部