- 累计送礼:
- 0 个
- 累计收礼:
- 0 个
TA的每日心情 | 开心 昨天 18:01 |
---|
签到天数: 114 天 连续签到: 4 天 [LV.6]常住居民II

管理员
  
- VIP
- 6
- 卡币
- 10635
- OK点
- 16
- 推广点
- 0
- 同能卷
- 0
- 积分
- 13406


|
方法十分简陋,而且很难看
效率嘛……不要管它好了
RUBY 代码 - class Bitmap
- def gradient_fill_rect(*args)
- case args[0].size
- when7
- x, y, width, height, color1, color2, vertical = args[0]
- when6
- x, y, width, height, color1, color2, vertical = args[0] + [false]
- when4
- rect, color1, color2, vertical = args[0]
- when3
- rect, color1, color2 = args[0] + [false]
- end
- if rect != nil
- x, y, width, height = rect.x, rect.y, rect.width, rect.height
- end
- if !vertical
- for i in x..x+width
- color_r = ((color1.red-color2.red)*(i-x).to_f/width + color1.red)
- color_g = ((color1.green-color2.green)*(i-x).to_f/width + color1.green)
- color_b = ((color1.blue-color2.blue)*(i-x).to_f/width + color1.blue)
- color = Color.new(color_r, color_g, color_b)
- fill_rect(i, y, 1, height, color)
- end
- else
- for i in y..y+height
- color_r = ((color1.red-color2.red)*(i-y).to_f/height + color1.red)
- color_g = ((color1.green-color2.green)*(i-y).to_f/height + color1.green)
- color_b = ((color1.blue-color2.blue)*(i-y).to_f/height + color1.blue)
- color = Color.new(color_r, color_g, color_b)
- fill_rect(x, i, width, 1, color)
- end
- end
- end
- end
复制代码
效果自己测试一下就知道了
还请大神们看看啊
本帖来自P1论坛作者你欠抽吧,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=379255 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|