Eu estava estudando a classe Bitmap para criar um novo tutorial quando percebi que o RGSS não tem suporte ao gradiente. Depois de algumas pesquisas sobre esse tipo de preenchimento consegui elaborar um algoritmo pra renderização gradiente no RPG Maker XP, espero que gostem.
Screen
Script:
Utilização:
Screen
- Spoiler:
Script:
- Código:
class Bitmap
def gradient_fill_rect(x, y, width, height, color1, color2, vertical=false)
if vertical
height.times do |i|
red = color1.red + (color2.red - color1.red) * i / width
green = color1.green + (color2.green - color1.green) * i / width
blue = color1.blue + (color2.blue - color1.blue) * i / width
alpha = color1.alpha + (color2.alpha - color1.alpha) * i / width
fill_rect(x, y+i, width, 1, Color.new(red, green, blue, alpha))
end
else
width.times do |i|
red = color1.red + (color2.red - color1.red) * i / width
green = color1.green + (color2.green - color1.green) * i / width
blue = color1.blue + (color2.blue - color1.blue) * i / width
alpha = color1.alpha + (color2.alpha - color1.alpha) * i / width
fill_rect(x+i, y, 1, height, Color.new(red, green, blue, alpha))
end
end
end
end
Utilização:
- Código:
bitmap.gradient_fill_rect(x, y, width, height, color 1, color 2)