设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1830|回复: 6
打印 上一主题 下一主题

[已经解决] 还是关于给事件赋予行走图的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
跳转到指定楼层
1
发表于 2014-11-7 22:13:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
1号事件的行走图文件名可能是"敌人_1","敌人_2","敌人_3"....................如果判断出它的文件名是"敌人_1",那就把"敌人_1_r"的文件名赋予13号事件,如果它的文件名是"敌人_2",那就把"敌人_2_r"的文件名赋予13号事件,以此类推。。希望用事件中的脚本实现

评分

参与人数 1星屑 +35 收起 理由
︶ㄣ牛排ぶ + 35 手动认可奖励

查看全部评分

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

2
发表于 2014-11-7 22:46:39 | 只看该作者
如果判断出它的文件名是"敌人_1",那就把"敌人_1_r"的文件名赋予13号事件,如果它的文件名是"敌人_2",那就把"敌人_2_r"的文件名赋予13号事件


你确定不是把"敌人_2_r"的文件名赋予14号事件?
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
3
 楼主| 发表于 2014-11-7 22:56:37 | 只看该作者
chd114 发表于 2014-11-7 22:46
如果判断出它的文件名是"敌人_1",那就把"敌人_1_r"的文件名赋予13号事件,如果它的文件名是"敌人_2",那就 ...

简言之,就是判断出一个事件的行走图文件名,然后把此文件名后加"_r"符号的行走图文件赋予另一个事件
当然,前提是这些行走图文件都存在
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

4
发表于 2014-11-7 23:03:12 | 只看该作者
LS的回帖请LZ无视掉。
具体就是插入事件脚本:
RUBY 代码复制
  1. $game_map.events[13].character_name = $game_map.events[1].character_name + "_r"

不过这样存档之后重新进入或者是事件页切换再切回来的话会恢复原样。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
5
 楼主| 发表于 2014-11-7 23:40:00 | 只看该作者
RyanBern 发表于 2014-11-7 23:03
LS的回帖请LZ无视掉。
具体就是插入事件脚本:
$game_map.events[13].character_name = $game_map.events[1 ...

能否只选择第1页的行走图?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
帖子
1516
6
发表于 2014-11-8 07:39:14 | 只看该作者
本帖最后由 汪汪 于 2014-11-8 07:40 编辑

额,和上一个答案,其实只有加一个后缀的区别……
首先
方法一
参考4楼,不过可能你需要加上
  1. class Game_Character
  2. attr_accessor :character_name # 角色 文件名
  3. attr_accessor :character_hue # 角色 色相
  4. end
复制代码
方法二:

简单版

  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,houzhui="") #原事件,事件页,改变事件,后缀
  7.    a = @map.events[i1].pages[i2-1].graphic.character_name + houzhui
  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

复制代码


额,保存版
  1. #行走图修改
  2. class Game_Character
  3.   attr_accessor   :character_name           # 角色 文件名
  4.   attr_accessor   :character_hue            # 角色 色相
  5. end
  6.   
  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.   #事件行走图 保存源于          feizhaodan  的   场所移动后保存事件位置
  19.   #如不想保存 在事件页第一行注释上: 不保存事件行走图
  20.   #--------------------------------------------------------------------------
  21.   # ● 初始化对象
  22.   #--------------------------------------------------------------------------
  23.   alias save_event_pos_initialize initialize
  24.   def initialize
  25.     save_event_pos_initialize
  26.     @event_pos = {}
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● 设置
  30.   #--------------------------------------------------------------------------
  31.   alias save_event_pos_setup setup
  32.   def setup(map_id)
  33.     save_event_pos
  34.     save_event_pos_setup(map_id)
  35.     load_event_pos
  36.   end
  37.   #--------------------------------------------------------------------------
  38.   # ● 保存事件位置
  39.   #--------------------------------------------------------------------------
  40.   def save_event_pos
  41.     return if @map_id == 0
  42.     @event_pos[@map_id] ||= []
  43.     @events.each{|i,e|
  44.     if e.save_pos?
  45.      @event_pos[@map_id][i] = [e.character_name,e.character_hue]  
  46.     else
  47.       @event_pos[@map_id][i] = nil
  48.     end
  49.     }
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● 读取事件位置
  53.   #--------------------------------------------------------------------------
  54.   def load_event_pos
  55.     return if @map_id == 0
  56.     @event_pos[@map_id] ||= []
  57.     @events.each{|i,e|
  58.     next unless @event_pos[@map_id][i]
  59.       e.character_name = @event_pos[@map_id][i][0]
  60.       e.character_hue  =@event_pos[@map_id][i][1]
  61.     }
  62.   end
  63.   def xiugai(i1 = 1,i2 = 1,i3 = 1,houzhui="") #原事件,事件页,改变事件,后缀
  64.    a = @map.events[i1].pages[i2-1].graphic.character_name + houzhui
  65.    b = @map.events[i1].pages[i2-1].graphic.character_hue
  66.    $game_map.events[i3].character_name = a
  67.    $game_map.events[i3].character_hue  = b
  68.   end

  69. end
复制代码


不需要保存时的设置。


另外,发现一个bug,这个方法只能复制事件页原本的行走图,如果你用事件或脚本把 原事件 的行走图改变的话,复制的依然是最开始的行走图……使用时请注意。能力所限,目前无法给予解决方案,请见谅。

点评

就是提取1号事件在第一页的行走图的文件名,代入某个变量  发表于 2014-11-10 10:33
谢谢,能否只记录1号事件在第一页的行走图,然后代入一个变量?  发表于 2014-11-10 10:30

评分

参与人数 2星屑 +120 梦石 +1 收起 理由
stella + 20 认可答案
RyanBern + 100 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
帖子
1516
7
发表于 2014-11-12 17:19:45 | 只看该作者
  1. class Game_Map
  2.   def duqu(i0=1,i1 = 1,i2 = 1) #变量,原事件,事件页
  3. $game_variables[i0]  = @map.events[i1].pages[i2-1].graphic.character_name
  4.   end
  5. end
复制代码
使用例子 :  $game_map.duqu(1,1,1)
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-22 14:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表