查看: 3405|回复: 6

[已经过期] 角色受攻击、升级、胜利、死亡显示一张图片。

[复制链接]
梦石
0
星屑
3181
在线时间
1439 小时
注册时间
2009-7-27
回帖
1187
发表于 2013-1-19 13:56:38 | 显示全部楼层 |阅读模式

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

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

×
比如:阿尔西斯,在Battlers里有张阿尔西斯_A等图片,收到攻击就会显示这张。然后升级和胜利就会显示阿尔西斯_B的图片。死亡就会一直显示,除非复活。
  然后,角色二,帕吉尔也是这样。

请问该如何做?请高手帮忙。

博客:我的博客
梦石
0
星屑
55
在线时间
119 小时
注册时间
2012-12-16
回帖
393
发表于 2013-1-19 14:13:41 | 显示全部楼层
这个······好像要用脚本的吧······
回复

使用道具 举报

梦石
2
星屑
1344
在线时间
363 小时
注册时间
2008-2-2
回帖
238

R考场第七期银奖

发表于 2013-1-19 14:13:52 | 显示全部楼层
如果你从来没有接触过脚本的话,那的确比较难一些。你可以这样
首先定义公共事件,就是把战斗图片更改为想要的图片。
然后在需要变换战斗图片的时候来调用这些公共事件。调用n号公共事件的脚本如下:
      common_event = $data_common_events[@common_event_id]
      $game_system.battle_interpreter.setup(common_event.list, 0)
比如,我要一号队友受到攻击后战斗图片改变,在公共事件里把一号事件设置为战斗图片改为战斗图片,二号事件设置为战斗图片变回平常的图片。
然后在脚本Scene_Battle 4里找到“
  #--------------------------------------------------------------------------
  # ● 刷新画面 (主回合步骤 5 : 显示伤害)
  #--------------------------------------------------------------------------
  def update_phase4_step5
”
在这一部分的下方添加类似于以下格式的分歧语句:
for target in @target_battlers
      ######################################################
      if $game_variables[1]!=5 and $game_variables[1]!=6
      case target.name
      when "阿尔西斯"
         $game_system.battle_interpreter.setup($data_common_events[1].list, 0)
      
      end

评分

参与人数 1星屑 +66 收起 理由
hcm + 66 感谢回答

查看全部评分

我亲自录制的橙光教学视频
如何用橙光做一款养成游戏:https://www.bilibili.com/video/BV1Js41197pr
蛇梯游戏/大富翁的制作:https://www.bilibili.com/video/BV1yW411a7sv
股票系统:https://www.bilibili.com/video/BV1DW41187BW
龙雏子女系统 的实现方法:https://www.bilibili.com/video/BV1gE411J7Ns
换装捏脸系统:https://www.bilibili.com/video/BV1Yc411h7ds
背包-合成系统:https://www.bilibili.com/video/BV1qg4y187C2
回复

使用道具 举报

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
回帖
10960

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

发表于 2013-1-19 15:38:21 | 显示全部楼层
四格待机动画可以做到
脚本搜索一下就有了
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复

使用道具 举报

梦石
0
星屑
3181
在线时间
1439 小时
注册时间
2009-7-27
回帖
1187
 楼主| 发表于 2013-1-24 04:51:21 | 显示全部楼层
本帖最后由 爆焰 于 2013-1-24 04:57 编辑

第一步 Game_Battler 1 里
attr_reader   :battler_name
改为 attr_accessor :battler_name (把只读属性改为可变换的后面切换战斗图要用到)
挨打 防御 改Scene_Battle 4
这里我做了点扩展 你自己修改 这段插入到 显示动画这里
01.     if (target.current_action.kind == 0 and target.current_action.basic == 1 and target.damage != "")  

02.         if target.damage.to_i >= 0 #按了防御 并且伤害大于0 切换防御战斗图 判定伤害是为了 避免加血时 按防御 结果角色防御动作的违和感

03.          target.battler_name = target.battler_name.split(/★/)[0]

04.         target.battler_name = target.battler_name + "★防御"

05.         end

06.       else

07.         if  target.damage == "Miss"  or target.damage == "" #伤害是字符串类 比如MISS 这里可以自己添加闪避类的战斗图

08.           target.battler_name = target.battler_name.split(/★/)[0]

09.         else

10.           if target.damage.to_i <=0

11.             target.battler_name = target.battler_name.split(/★/)[0]###伤害值小于0的时候 比如加血技能 自己可以添加加血类的战斗图

12.           else

13.         target.battler_name = target.battler_name + "★挨打" #####受到伤害 切换挨打战斗图

14.      end

15.         end

16.         end
复制代码上面2处都要加在 for target in @target_battlers 这里面 否则无法识别taget
最后在显示伤害里加上 target.battler_name = target.battler_name.split(/★/)[0] 把战斗图还原







死亡的话是Sprite_Battler 找到 if @battler.damage == nil and @battler.dead?
加入这个@battler.battler_name = @battler.battler_name.split(/★/)[0]
  @battler.battler_name = @battler.battler_name + "★死亡"



@yagami
为什么我自己弄就会self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue)出错?
我现在只需要受攻击、死亡、升级和胜利时显示一张图片就可以了,我方就可以了。
请帮帮忙。

博客:我的博客
回复

使用道具 举报

梦石
0
星屑
432
在线时间
4175 小时
注册时间
2010-6-26
回帖
6276
发表于 2013-1-24 08:59:38 | 显示全部楼层
建议参考《重生学校》里的脚本。
潜水,专心忙活三次元工作了……
回复

使用道具 举报

梦石
0
星屑
3181
在线时间
1439 小时
注册时间
2009-7-27
回帖
1187
 楼主| 发表于 2013-2-2 04:09:33 | 显示全部楼层
没人帮我吗?

博客:我的博客
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部