Project1

标题: 色相修改 [打印本页]

作者: 黑米馒头    时间: 2014-9-5 06:21
标题: 色相修改
如何让战斗图形的设想和动画图形的色相相同,就是我修改战斗图色相的时候,和战斗图有关联的动画的色相值会等同于战斗图,弄成角色和敌人2种类型,1号角色关联2,3号动画,那样1号角色战斗图色相修改的时候,2,3号动画的色相会等同于战斗图的色相。能弄吗。
作者: 芯☆淡茹水    时间: 2014-9-5 13:46
刚好有个类似的,稍微改了下。但是重新改了 Sprite_Battler 的  update ,可能与你的工程不兼容。
Project1.rar (187.9 KB, 下载次数: 49)

作者: 芯☆淡茹水    时间: 2014-9-5 14:05
好了,加了几行东西。
Project1.rar (187.92 KB, 下载次数: 50)
作者: 芯☆淡茹水    时间: 2014-9-10 17:23
色相只修改战斗图的色相,其他的就跟着一起改变。
至于称谓颜色,你把地图显示的颜色和窗口显示的颜色改成一样就行。
下面脚本改了:称谓状态窗口;Window_A_Graph;显示名字 + 待机动态【新】;人物跟随【新】


Scripts.rxdata (141.44 KB, 下载次数: 31)
作者: 黑米馒头    时间: 2014-9-10 17:27
芯☆淡茹水 发表于 2014-9-10 17:23
色相只修改战斗图的色相,其他的就跟着一起改变。
至于称谓颜色,你把地图显示的颜色和窗口显示的颜色改成 ...

主要是我在物品栏和队伍栏里显示的图片不是人物行走图,所以战斗色相改了之后,物品栏和队伍栏的图片没办法改变,那样色相该了之后,打开物品栏和队伍,显示的颜色还是原来的颜色,所以才想把游戏里用到的,后面_R和_Q的图片色调和战斗图一样,这2种图片都是对应角色,比如1_R 1_Q
作者: 芯☆淡茹水    时间: 2014-9-10 20:40
本来就已经改了的啊,没认真试么?
至于称谓颜色,有角色和NPC的颜色区别就行了,玩家难道在乎那个颜色还要多变的?
队伍.rar (817.84 KB, 下载次数: 35)

新建文件夹.rar

2.78 MB, 下载次数: 56


作者: 芯☆淡茹水    时间: 2014-9-10 21:34
改了 显示名字 + 待机动态【新】 ,在 称谓颜色 设置那儿加了两句。

Scripts.rxdata (141.48 KB, 下载次数: 49)
作者: 黑米馒头    时间: 2014-9-10 21:35
芯☆淡茹水 发表于 2014-9-10 17:23
色相只修改战斗图的色相,其他的就跟着一起改变。
至于称谓颜色,你把地图显示的颜色和窗口显示的颜色改成 ...

嗯,我那里还2个地方还要改色相,你帮我改下

1。
RUBY 代码复制
  1. def refresh_sprite(actor, x, y, kind)
  2.      facename = "Graphics/Pictures/图片显示/人物头像/队伍图片/#{actor.id}_R"
  3.      bitmap = Bitmap.new(facename)
  4.      w = bitmap.width / 8
  5.      src_rect = Rect.new(kind * w, 0, w, bitmap.height)
  6.      self.contents.blt(x, y, bitmap, src_rect)
  7.   end
  8. end




2:
RUBY 代码复制
  1. class Window_F_Graph < Window_Base
  2.  
  3. attr_accessor :type
  4.  
  5. def initialize(file_index)
  6. @file_index = file_index
  7. @actors_graph = Sprite.new
  8. @filename = "Save#{@file_index + 1}.rxdata"
  9. super(0, 0, 0, 0)
  10.     @file_exist = FileTest.exist?(@filename)
  11.     if @file_exist
  12.       file = File.open(@filename, "r")
  13.     @a        = Marshal.load(file)
  14.     @s        = Marshal.load(file)
  15.     @game_system        = Marshal.load(file)
  16.     @game_switches      = Marshal.load(file)
  17.     @game_variables     = Marshal.load(file)
  18.     @game_self_switches = Marshal.load(file)
  19.     @game_screen        = Marshal.load(file)
  20.     @game_actors        = Marshal.load(file)
  21.     @game_party         = Marshal.load(file)
  22.     @game_troop         = Marshal.load(file)
  23.     @game_map           = Marshal.load(file)
  24.     [url=home.php?mod=space&uid=14736]@game_player[/url]        = Marshal.load(file)
  25.       file.close
  26.     end
  27. @actor = @game_party
  28. refresh
  29. end
  30.  
  31. def dispose
  32. @actors_graph.dispose if !@actors_graph.nil?
  33. super
  34. end
  35.  
  36. def refresh
  37. if @file_exist
  38.     case @file_index
  39.     when 0
  40.       ix = 60
  41.       iy = 40-30-2
  42.     when 1
  43.       ix = -29+7
  44.       iy = 39-70-3
  45.     when 2
  46.       ix = -107-3
  47.       iy = 12-16-3
  48.     when 3
  49.       ix = -206-4
  50.       iy = 14-19-3
  51.     when 4
  52.       ix = -288-13
  53.       iy = 46-75-4
  54.     when 5
  55.       ix = -379-4
  56.       iy = 22-9-2
  57.     else # 例外
  58.       iy = 0
  59.       iw = 128
  60.       ih = 352
  61.     end
  62. @actors_graph.bitmap = Bitmap.new("Graphics/Pictures/图片显示/人物头像/存档图片/" + @actor.actors[0].id.to_s + "_Q")
  63. #@actors_graph.x = 128 * @file_index - 100+100
  64. @actors_graph.x = 10 - ix-5
  65. @actors_graph.y = 80 + iy+3
  66. @actors_graph.z = 80000
  67. cw = @actors_graph.bitmap.width / 8
  68. ch = @actors_graph.bitmap.height
  69. @actors_graph.src_rect.set(0, 0, cw, ch)
  70. end
  71. end
  72.  
  73. def refresh_actor
  74.  
  75. if @file_exist
  76. cx = (Graphics.frame_count / 6) % 8 * (@actors_graph.bitmap.width / 8)
  77. @actors_graph.src_rect.x = cx
  78. end
  79. end
  80. def update
  81. super
  82. refresh_actor
  83. end
  84. end

作者: 芯☆淡茹水    时间: 2014-9-10 22:31
本帖最后由 芯☆淡茹水 于 2014-9-11 07:58 编辑
  1. def refresh_sprite(actor, x, y, kind)
  2.      bitmap = RPG::Cache.graph(actor.id.to_s + "_R", actor.battler_hue)
  3.      w = bitmap.width / 8
  4.      src_rect = Rect.new(kind * w, 0, w, bitmap.height)
  5.      self.contents.blt(x, y, bitmap, src_rect)
  6.   end
  7. end
复制代码
第二个的图片文件把它移到到上面的队伍文件夹里,话说建那么多文件夹干嘛?以后不好管理查找,也最容易搞混。
  1. class Window_F_Graph < Window_Base

  2. attr_accessor :type

  3. def initialize(file_index)
  4. @file_index = file_index
  5. @actors_graph = Sprite.new
  6. @filename = "Save#{@file_index + 1}.rxdata"
  7. super(0, 0, 0, 0)
  8.     @file_exist = FileTest.exist?(@filename)
  9.     if @file_exist
  10.       file = File.open(@filename, "r")
  11.     @a        = Marshal.load(file)
  12.     @s        = Marshal.load(file)
  13.     @game_system        = Marshal.load(file)
  14.     @game_switches      = Marshal.load(file)
  15.     @game_variables     = Marshal.load(file)
  16.     @game_self_switches = Marshal.load(file)
  17.     @game_screen        = Marshal.load(file)
  18.     @game_actors        = Marshal.load(file)
  19.     @game_party         = Marshal.load(file)
  20.     @game_troop         = Marshal.load(file)
  21.     @game_map           = Marshal.load(file)
  22.     [url=home.php?mod=space&uid=14736]@game_player[/url]        = Marshal.load(file)
  23.       file.close
  24.     end
  25. @actor = @game_party
  26. refresh
  27. end

  28. def dispose
  29. @actors_graph.dispose if !@actors_graph.nil?
  30. super
  31. end

  32. def refresh
  33. if @file_exist
  34.     case @file_index
  35.     when 0
  36.       ix = 60
  37.       iy = 40-30-2
  38.     when 1
  39.       ix = -29+7
  40.       iy = 39-70-3
  41.     when 2
  42.       ix = -107-3
  43.       iy = 12-16-3
  44.     when 3
  45.       ix = -206-4
  46.       iy = 14-19-3
  47.     when 4
  48.       ix = -288-13
  49.       iy = 46-75-4
  50.     when 5
  51.       ix = -379-4
  52.       iy = 22-9-2
  53.     else # 例外
  54.       iy = 0
  55.       iw = 128
  56.       ih = 352
  57.     end
  58. @actors_graph.bitmap = RPG::Cache.graph(@actor.actors[0].id.to_s + "_Q", (@actor.actors[0].battler_hue)
  59. #@actors_graph.x = 128 * @file_index - 100+100
  60. @actors_graph.x = 10 - ix-5
  61. @actors_graph.y = 80 + iy+3
  62. @actors_graph.z = 80000
  63. cw = @actors_graph.bitmap.width / 8
  64. ch = @actors_graph.bitmap.height
  65. @actors_graph.src_rect.set(0, 0, cw, ch)
  66. end
  67. end

  68. def refresh_actor
  69.   
  70. if @file_exist
  71. cx = (Graphics.frame_count / 6) % 8 * (@actors_graph.bitmap.width / 8)
  72. @actors_graph.src_rect.x = cx
  73. end
  74. end
  75. def update
  76. super
  77. refresh_actor
  78. end
  79. end
复制代码

作者: 黑米馒头    时间: 2014-9-11 08:30
芯☆淡茹水 发表于 2014-9-10 22:31
第二个的图片文件把它移到到上面的队伍文件夹里,话说建那么多文件夹干嘛?以后不好管理查找,也最容易搞混 ...

我把你那个战斗图改变【法术】和【攻击】动画色相的脚本放进去,和我原来的 调整动画Z坐标的脚本 发生错误了,本来都调整好了,攻击的时候动画显示战斗图上面的,现在攻击的时候动画只能显示到战斗图下面了, 2个脚本位置换下的话,就出现【动画色相】1   里面的

      # 动画
      if @battler.animation_id != 0
        animation = $data_animations[@battler.animation_id]
        animation(animation, @battler.animation_hit, @battler)
        @battler.animation_id = 0
      end

这几句错误。

色相.rar

192.56 KB, 下载次数: 40


作者: 芯☆淡茹水    时间: 2014-9-11 08:43
已合到一起。
色相.rar (192.27 KB, 下载次数: 30)
作者: 芯☆淡茹水    时间: 2014-9-11 10:06
把你的真移位弄到了一边,测试了一下,色相是改变了的。
至于要改 动画Z值 里面的,建议找原作者。

色相2.rar (193.86 KB, 下载次数: 34)




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