赞 | 2 |
VIP | 143 |
好人卡 | 1 |
积分 | 1 |
经验 | 216792 |
最后登录 | 2019-10-10 |
在线时间 | 24 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 61
- 在线时间
- 24 小时
- 注册时间
- 2008-8-5
- 帖子
- 1924
|
以下引用★_茄孓于2009-4-6 10:26:38的发言:
我个人想法是利用Sprite的zoom_x/zoom_y方法来调整!
这样的话要获取在 Window 内部定义的用来显示 contents 的精灵,貌似不容易~
下面是在画图时直接拉伸位图的方法:
class Window_Base
def draw_actor_graphic(actor, x, y)
# 定义一个最大的宽度和高度,超过范围就会自动按比例缩小
maxw, maxh = 60, 60
bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
cw = bitmap.width / 4
ch = bitmap.height / 4
ratio = cw.to_f / ch
src_rect = Rect.new(0, 0, cw, ch)
if cw > maxw
cw = maxw
ch = (cw / ratio).round
end
if ch > maxh
ch = maxh
cw = (ratio * ch).round
end
self.contents.stretch_blt(Rect.new(x - cw / 2, y - ch, cw, ch), bitmap, src_rect)
end
end 系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~ |
|