Project1

标题: 怎么获取名字叫Enemy的所有事件ID [打印本页]

作者: yang1zhi    时间: 2016-2-6 13:43
标题: 怎么获取名字叫Enemy的所有事件ID
if @action.user.is_a?(Game_Event) and
       @action.player_damage == true
       targets = $game_map.events.values


这样是对所有事件有效,可我只要对Enemy名字的敌人有效果
作者: RyanBern    时间: 2016-2-6 13:55
本帖最后由 RyanBern 于 2016-2-6 14:26 编辑

你是否说的是事件的名称?也就是地图编辑器左上角的事件名字?

如果是的话,请在Game_Event类下加入
RUBY 代码复制
  1. attr_reader :event


然后使用
RUBY 代码复制
  1. ev.event.name

即可获取事件ev的名称。

如果想要获取一张地图所有名字叫做Enemy的事件ID,可以用
RUBY 代码复制
  1. enemy_ids = $game_map.events.values.select{|ev| ev.event.name == "Enemy"}.map{|ev| ev.id}


我看你主楼的最后一句明显要的不是事件ID。而是要的事件本身。这种情况下应该写成这样
RUBY 代码复制
  1. targets = $game_map.events.values.select{|ev| ev.event.name == "Enemy"}





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