Project1

标题: 如何通过开关显示不同的图片? [打印本页]

作者: 美丽晨露    时间: 2013-4-11 18:23
标题: 如何通过开关显示不同的图片?
本帖最后由 美丽晨露 于 2013-4-13 13:17 编辑

我想要的是这样子的效果
装备战士服时,游戏进程中主角使用的立绘就是战斗服的图片
装备魔法师服时,游戏进程中主角使用的立绘就是魔法师的图片
请问要怎么做?

作者: 芯☆淡茹水    时间: 2013-4-11 20:44
  用的什么对话框?什么换装系统? 最好能整合和前面两个同步。
作者: 你最珍贵    时间: 2013-4-11 22:22
用条件分歧应该可以吧
作者: 亿万星辰    时间: 2013-4-12 12:20
Sprite_Battler里的update方法中
  1.     # 文件名和色相与当前情况有差异的情况下
  2.     if @battler.battler_name != @battler_name or
  3.        @battler.battler_hue != @battler_hue
  4.       # 获取、设置位图  <-- 注意
  5.       if @battler.is_a?(Game_Actor)  # 如果是角色就根据身体装备来做调整
  6.         @battler_name = @battler.battler_name + (battler.armor3_id == 0 ? "" : "_#{battler.armor3_id}")
  7.       else
  8.         @battler_name = @battler.battler_name
  9.       end
  10.       @battler_hue = @battler.battler_hue
  11.       self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue)
  12.       @width = bitmap.width
  13.       [url=home.php?mod=space&uid=291977]@height[/url] = bitmap.height
  14.       self.ox = @width / 2
  15.       self.oy = @height
  16.       # 如果是战斗不能或者是隐藏状态就把透明度设置成 0
  17.       if @battler.dead? or @battler.hidden
  18.         self.opacity = 0
  19.       end
  20.     end
复制代码

作者: 美丽晨露    时间: 2013-4-12 15:27
亿万星辰 发表于 2013-4-12 12:20
Sprite_Battler里的update方法中

这个功能是改变战斗图的形态吗?
我只是想在对话中显示的图片不一样而已
作者: 亿万星辰    时间: 2013-4-12 15:28
美丽晨露 发表于 2013-4-12 15:27
这个功能是改变战斗图的形态吗?
我只是想在对话中显示的图片不一样而已 ...

可以用条件分歧~
方便点可以用脚本来实现显示图片的功能。
作者: 美丽晨露    时间: 2013-4-12 15:30
亿万星辰 发表于 2013-4-12 15:28
可以用条件分歧~
方便点可以用脚本来实现显示图片的功能。

条件分歧这点我懂
可是要怎么实现呢?


作者: 亿万星辰    时间: 2013-4-12 15:41
美丽晨露 发表于 2013-4-12 15:30
条件分歧这点我懂
可是要怎么实现呢?

获取当前角色的armor3_id,然后……
作者: 美丽晨露    时间: 2013-4-12 15:47
亿万星辰 发表于 2013-4-12 15:41
获取当前角色的armor3_id,然后……

哦?脚本我不明白的说
如果是用事件的话要怎么做?
作者: wingzeroplus    时间: 2013-4-12 16:36
好像简单问题复杂化了?
事件 分歧条件 第2页 如果角色XX 防具XXX在装备中 就显示图片1 角色法师图 如果防具YYY在装备中就显示图1 角色战士图,然后对话……是这个意思吧
作者: 美丽晨露    时间: 2013-4-12 16:39
wingzeroplus 发表于 2013-4-12 16:36
好像简单问题复杂化了?
事件 分歧条件 第2页 如果角色XX 防具XXX在装备中 就显示图片1 角色法师图 如果防 ...

好像的确是这样的说
但是这样会不会很繁琐呢?
比如如果不是两件装备,是十几件装备的话。
一句对话就要十几个分歧了
作者: wingzeroplus    时间: 2013-4-12 16:45
判断图片用一个公共事件不就OK了?以后只要对话就先调用它再显示文章,改起来也方便
作者: 美丽晨露    时间: 2013-4-12 17:24
wingzeroplus 发表于 2013-4-12 16:45
判断图片用一个公共事件不就OK了?以后只要对话就先调用它再显示文章,改起来也方便 ...

原来如此
这个是解决了
但是在地图上要怎么判断主角更换了装备呢?
作者: wingzeroplus    时间: 2013-4-12 18:34
美丽晨露 发表于 2013-4-12 17:24
原来如此
这个是解决了
但是在地图上要怎么判断主角更换了装备呢?

地图上不建议用公共事件并行来判断 特别要判断的内容一多……卡死

个人的游戏也有判断换装的,用的公共事件但不是并行,而是在退出菜单时调用(其实是找不到解决办法了,只能这样凑合了)
并行的话一步一卡……

作者: 亿万星辰    时间: 2013-4-13 09:21
就是说考虑很多装备会复杂,所以才让你直接考虑armor3_id的嘛~~~
每次要出现对话窗口的时候,用脚本来执行显示图片的命令
比如变量1里存放当前要出现的头像的角色ID,现在假设1号角色要说话了
  1. ◆变量1 = 1
  2. ◆脚本:
  3. aid=$game_variables[1]
  4. armor_id=$game_actors[aid].armor3_id
  5. $game_screen.pictures[1].show(\
  6. "actor_#{aid}_#{armor_id}",0,0,0,100,100,\
  7. 255,0)
复制代码
这样就把图片目录下名为 actor_角色ID_衣服装备ID 的图片显示出来了,图片显示的脚本不知道记得还对不对了,坐标什么的可以自行调整。




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