Project1
标题:
脚本显示图片色相问题
[打印本页]
作者:
大放异彩
时间:
2019-4-18 16:55
标题:
脚本显示图片色相问题
我在某窗口增加了多个图片显示
bitmap = RPG::Cache.picture("G/01")
bitmap = RPG::Cache.picture("G/02")
bitmap = RPG::Cache.picture("G/03")
虽然可以在显示第一张图片的下面这样来更改色相
bitmap = RPG::Cache.picture("G/01")
bitmap.hue_change(100)
但是色相无法固定
请问如何才能让色相固定,比如我想要"G/01"图片变成 0,255,0,100(这样就是绿色,而且颜色也淡一点)
在不影响02 03图片的情况下改变01图片的色相??
小白继续请教各位大神帮忙
作者:
灯笼菜刀王
时间:
2019-4-18 16:55
本帖最后由 灯笼菜刀王 于 2019-4-18 19:07 编辑
测试了下, 你把 bitmap.hue_change(100) 这句写到UPDATE里就会变, 每描绘一次, 它就会以上次的色相基础上再次转换色相
不要把它放UPDATE就没事了
这样写,update的时候 不会改变色相
class Win_a < Window_Base
def initialize
super(0, 0, 640, 480)
self.contents = Bitmap.new(width - 32, height - 32)
@bitmap = RPG::Cache.picture("G/01")
@bitmap.hue_change(100)
self.contents.blt(0, 0, @bitmap, Rect.new(0, 0, 640, 480))
end
def update
if Input.trigger?(Input::UP)
self.contents.clear
self.contents.blt(0, -240, @bitmap, Rect.new(0, 0, 640, 480))
end
if Input.trigger?(Input::DOWN)
self.contents.clear
self.contents.blt(0, 240, @bitmap, Rect.new(0, 0, 640, 480))
end
end
end
复制代码
这样写每描绘一次就会在上次的基础上转变色相
class Win_a < Window_Base
def initialize
super(0, 0, 640, 480)
self.contents = Bitmap.new(width - 32, height - 32)
bitmap = RPG::Cache.picture("G/01")
bitmap.hue_change(100)
self.contents.blt(0, 0, bitmap, Rect.new(0, 0, 640, 480))
end
def update
if Input.trigger?(Input::UP)
self.contents.clear
bitmap = RPG::Cache.picture("G/01")
bitmap.hue_change(100)
self.contents.blt(0, -240, bitmap, Rect.new(0, 0, 640, 480))
end
if Input.trigger?(Input::DOWN)
self.contents.clear
bitmap = RPG::Cache.picture("G/01")
bitmap.hue_change(100)
self.contents.blt(0, 240, bitmap, Rect.new(0, 0, 640, 480))
end
end
end
复制代码
非要在UPDATE里 加载 bitmap, 就换别的文件夹吧, bitmap = RPG::Cache.battler(name,hue) 这样就随便你刷新了
作者:
guoxiaomi
时间:
2019-4-18 17:13
印象中picture方法的第二个参数就是色相,直接picture(path, hue)试试看
作者:
灯笼菜刀王
时间:
2019-4-18 17:40
那就别放在 picture 文件夹里嘛
RPG::Cache.battler, RPG::Cache.character, RPG::Cache.fog, RPG::Cache.panorama 都可以直接填色相参数
作者:
fux2
时间:
2019-4-18 17:45
直接使用Cache.load_bitmap就可以了
作者:
soulsaga
时间:
2019-4-18 18:12
本帖最后由 soulsaga 于 2019-4-18 18:18 编辑
是想要像事件更改色调那样做吗?
bitmap.tone = Tone.new(R, G, B, 255)
作者:
芯☆淡茹水
时间:
2019-4-18 18:37
更改色相用得很少,没注意到会不会变,但印象中貌似不会自动改变吧!
要么有个笨办法,读取图片改变色相后,把它立马 blt 到一张空白的 Bitmap 上试试。
作者:
soulsaga
时间:
2019-4-18 18:43
本帖最后由 soulsaga 于 2019-4-18 18:45 编辑
a = Sprite.new
a.bitmap = RPG::Cache.picture("G/01")
a.tone = Tone.new(R, G, B, 255)
这样才能用
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1