Project1

标题: 为行走图改色相时, 锁定特定颜色 [打印本页]

作者: 灯笼菜刀王    时间: 2022-12-9 11:25
标题: 为行走图改色相时, 锁定特定颜色
本帖最后由 灯笼菜刀王 于 2022-12-9 14:54 编辑

感觉挺好玩的, 这个应该有需求吧, 不知道有人写过没



用途: 为行走图更改色相时,锁定特定颜色不改

用法: 复制脚本后, 塞到 main 前, 之后去PS里给行走图底下增加一行像素(栗: 原本默认行走图高度是px192 增为193)
         然后在这行里点上需要锁定的颜色即可, 不加则按默认色相处理

多一行也不会影响原本的行走图效果, 放心加

冲突: 几乎没有吧

  1. #-----------------------------------------------------------------------
  2. # ● 锁色相      by 灯笼菜刀王 2022.12.9
  3. #
  4. # 用途: 为行走图更改色相时,锁定特定颜色不改
  5. #
  6. # 用法: 给行走图底下增加一行像素(栗: 原本默认行走图高度是px192 增为193)
  7. #       然后在这行里点上需要锁定的颜色即可
  8. #-----------------------------------------------------------------------
  9. module RPG
  10.   module Cache
  11.     def self.load_bitmap2(folder_name,filename,hue = 0)
  12.       path = folder_name + filename
  13.       if not @cache.include?(path) or @cache[path].disposed?
  14.         if filename != ""
  15.           @cache[path] = Bitmap.new(path)
  16.         else
  17.           @cache[path] = Bitmap.new(32,32)
  18.         end
  19.       end
  20.       if hue == 0
  21.         return @cache[path]
  22.       else
  23.         cf = []
  24.         if (h=@cache[path].height) % 4 == 1
  25.           (w = @cache[path].width).times do |i| #获取锁定颜色
  26.             c = @cache[path].get_pixel(i,h - 1)
  27.             next if c.alpha < 1
  28.             cf.push([c.red,c.green,c.blue])
  29.           end
  30.         end
  31.         key = [path, hue]
  32.         if [email protected]?(key) or @cache[key].disposed?
  33.           @cache[key] = @cache[path].clone
  34.           @cache[key].hue_change(hue)
  35.           return @cache[key] if cf.empty?
  36.           w.times do |i|
  37.             h.times do |j|
  38.               c = @cache[path].get_pixel(i,j)
  39.               next if !cf.include?([c.red,c.green,c.blue])
  40.               @cache[key].set_pixel(i,j,c)
  41.             end
  42.           end
  43.         end
  44.         return @cache[key]
  45.       end
  46.     end
  47.     def self.character(filename,hue=0)
  48.       self.load_bitmap2("Graphics/Characters/",filename,hue)
  49.     end
  50.   end
  51. end
复制代码

作者: 金芒芒    时间: 2022-12-9 11:45
本帖最后由 金芒芒 于 2022-12-9 13:15 编辑

能在class Scene_Title背景图自动渐变吗




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