Project1

标题: RTAB战斗系统中角色行动图标替换的问题 [打印本页]

作者: fyqinpku    时间: 2015-4-30 19:47
标题: RTAB战斗系统中角色行动图标替换的问题
用的是图书馆提供的RTAB战斗系统,地址是
https://rpg.blue/thread-237131-1-1.html

在战斗界面中,角色行动图标如下图


剑和骷髅分别是放在system文件夹下的两个图标,对应的代码应该是在上面脚本的404行左右开始:
  1. def create_rtabcp_gauge
  2.     @cpgauge_back = Sprite.new(@viewport3)
  3.     @cpgauge_back.bitmap = Bitmap.new(400, 8)
  4.     @cpgauge_back.bitmap.gradient_fill_rect(0, 0, 400, 16, Color.new(20, 20, 20), Color.new(50, 255, 50))
  5.     @cpgauge_back.x = 72
  6.     @cpgauge_back.y = 16
  7.     # 为战斗中的各个角色生成其图标
  8.     @icons = {}
  9.     for iii in $game_party.members
  10.       @icons[iii] = Sprite.new(@viewport3)
  11.         @icons[iii].bitmap = Bitmap.new("Graphics/System/bicon1.png")
  12.       @icons[iii].ox = 12
  13.       @icons[iii].oy = 12
  14.       @icons[iii].x = 16
  15.       @icons[iii].y = 20
  16.     end
  17.     for iii in $game_troop.members
  18.       @icons[iii] = Sprite.new(@viewport3)
  19.       @icons[iii].bitmap = Bitmap.new("Graphics/System/bicon2.png")
  20.       @icons[iii].ox = 12
  21.       @icons[iii].oy = 12
  22.       @icons[iii].x = 16
  23.       @icons[iii].y = 20
  24.     end
  25.   end
复制代码
现在,如果想为每个不同的我方角色绘制不同的图标,并且就是该角色行走图中脸朝下的那块图(当然最好能做成图标变成原地踏步的动画),该如何修改代码?
如果要为每一个角色做一次 if iii.name == 'xxx'判断的话泛用性就太小了……

搜到过一个类似的问题,不过没有获得解答。求大神支援。
作者: 判约之轮    时间: 2015-4-30 23:01
这样如何?
RUBY 代码复制
  1. def create_rtabcp_gauge
  2.     @cpgauge_back = Sprite.new(@viewport3)
  3.     @cpgauge_back.bitmap = Bitmap.new(400, 8)
  4.     @cpgauge_back.bitmap.gradient_fill_rect(0, 0, 400, 16, Color.new(20, 20, 20), Color.new(50, 255, 50))
  5.     @cpgauge_back.x = 72
  6.     @cpgauge_back.y = 16
  7.     # 为战斗中的各个角色生成其图标
  8.     @icons = {}
  9.     for iii in $game_party.members
  10.       @icons[iii] = Sprite.new(@viewport3)
  11.       #在Graphics文件夹下新建一个文件夹FightFace,然后按照角色名把小图标分别存为png格式
  12.       path = "Graphics\\FightFace\\" + iii.name + ".png"
  13.       @icons[iii].bitmap = Bitmap.new(path)
  14.       @icons[iii].ox = 12
  15.       @icons[iii].oy = 12
  16.       @icons[iii].x = 16
  17.       @icons[iii].y = 20
  18.     end
  19.     for iii in $game_troop.members
  20.       @icons[iii] = Sprite.new(@viewport3)
  21.       @icons[iii].bitmap = Bitmap.new("Graphics/System/bicon2.png")
  22.       @icons[iii].ox = 12
  23.       @icons[iii].oy = 12
  24.       @icons[iii].x = 16
  25.       @icons[iii].y = 20
  26.     end
  27.   end

作者: 三途亚梦    时间: 2015-4-30 23:09
https://rpg.blue/forum.php?mod=viewthread&tid=377554
作者: fyqinpku    时间: 2015-5-1 02:30
本帖最后由 fyqinpku 于 2015-5-1 03:16 编辑
三途亚梦 发表于 2015-4-30 23:09
https://rpg.blue/forum.php?mod=viewthread&tid=377554


居然有现成的,看来我关键字搜的不对。稍微大概因为图像大小从24方变成32方,调整了下显示图片的中心位置更好看了一点。感谢。
做成行走图的动态似乎要改update_cp,估计还是太麻烦了点。总之感谢!




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