Project1

标题: 请教提取一个事件的行走图文件名并赋予另一事件 [打印本页]

作者: stella    时间: 2014-11-7 14:53
标题: 请教提取一个事件的行走图文件名并赋予另一事件
本帖最后由 stella 于 2014-11-7 15:35 编辑

提取1号事件的第一个事件页的行走图文件名,然后把该文件作为13号事件的行走图


作者: 布罗利    时间: 2014-11-7 17:16
我认为用开关或者变量就可以解决
作者: 汪汪    时间: 2014-11-7 19:42
本帖最后由 汪汪 于 2014-11-7 21:33 编辑

在脚本的 Game_Character 1 中 把
  1. attr_reader   :character_name         
  2. attr_reader   :character_hue
复制代码
改变为
  1.   attr_accessor :character_name           
  2.   attr_accessor :character_hue  
复制代码
然后就可以用脚本操作了
  1. a = $game_map.events[1].character_name
  2. b = $game_map.events[1].character_hue
  3. $game_map.events[13].character_name = a
  4. $game_map.events[13].character_hue  = b
复制代码
使用方法

第二种方法
将如下脚本放在 main 前

  1. class Game_Character
  2.   attr_accessor   :character_name           # 角色 文件名
  3.   attr_accessor   :character_hue            # 角色 色相
  4. end
  5. class Game_Map
  6. def xiugai(i1 = 1,i2 = 1,i3 = 1)
  7.    a = @map.events[i1].pages[i2-1].graphic.character_name
  8.    b = @map.events[i1].pages[i2-1].graphic.character_hue
  9.    $game_map.events[i3].character_name = a
  10.    $game_map.events[i3].character_hue  = b
  11. end
  12. end
复制代码
使用方法
脚本 $game_map.xiugai(1,2,13) 就是将事件13的行走图变成事件1的第2页的行走图



注:这两个方法在离开地图后不能保存事件的行走图更改,使用请注意。



额,可以保存行走图修改的。。。。脚本,
感觉这个还是很有用的,就改了一个。   ̄□ ̄||
  1. #行走图修改
  2. class Game_Character
  3.   attr_accessor   :character_name           # 角色 文件名
  4.   attr_accessor   :character_hue            # 角色 色相
  5. end

  6.   #事件保存源于          feizhaodan  的   场所移动后保存事件位置
  7.   #如不想保存 在事件页第一行注释上: 不保存事件行走图

  8. class Game_Event < Game_Character
  9.   
  10.   def save_pos?
  11.     return true unless @list
  12.     return true if @list[0].code != 108
  13.     return !@list[0].parameters[0].include?("不保存事件行走图")
  14.   end
  15. end

  16. class Game_Map
  17.   
  18.   #--------------------------------------------------------------------------
  19.   # ● 初始化对象
  20.   #--------------------------------------------------------------------------
  21.   alias save_event_pos_initialize initialize
  22.   def initialize
  23.     save_event_pos_initialize
  24.     @event_pos = {}
  25.   end
  26.   #--------------------------------------------------------------------------
  27.   # ● 设置
  28.   #--------------------------------------------------------------------------
  29.   alias save_event_pos_setup setup
  30.   def setup(map_id)
  31.     save_event_pos
  32.     save_event_pos_setup(map_id)
  33.     load_event_pos
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ● 保存事件位置
  37.   #--------------------------------------------------------------------------
  38.   def save_event_pos
  39.     return if @map_id == 0
  40.     @event_pos[@map_id] ||= []
  41.     @events.each{|i,e|
  42.     if e.save_pos?
  43.      @event_pos[@map_id][i] = [e.character_name,e.character_hue]  
  44.     else
  45.       @event_pos[@map_id][i] = nil
  46.     end
  47.     }
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 读取事件位置
  51.   #--------------------------------------------------------------------------
  52.   def load_event_pos
  53.     return if @map_id == 0
  54.     @event_pos[@map_id] ||= []
  55.     @events.each{|i,e|
  56.     next unless @event_pos[@map_id][i]
  57.       e.character_name = @event_pos[@map_id][i][0]
  58.       e.character_hue  =@event_pos[@map_id][i][1]
  59.     }
  60.   end



  61.   def xiugai(i1 = 1,i2 = 1,i3 = 1) #原事件,事件页,改变事件
  62.    a = @map.events[i1].pages[i2-1].graphic.character_name
  63.    b = @map.events[i1].pages[i2-1].graphic.character_hue
  64.    $game_map.events[i3].character_name = a
  65.    $game_map.events[i3].character_hue  = b
  66.   end

  67. end
复制代码





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