Project1

标题: 關於待機附贈菜單的問題 [打印本页]

作者: 柳飛鷹    时间: 2009-4-6 18:15
标题: 關於待機附贈菜單的問題
http://rpg.blue/web/htm/news101.htm
我的問題是,如果用的行走圖超過了這個菜單大小,顯示時會突出來,怎么樣讓行走圖顯示時自動縮小呢{/fd}求解啊 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: tommay    时间: 2009-4-6 18:21
以下引用柳飛鷹于2009-4-6 10:15:53的发言:


本贴悬赏额度如下:VIP:0   积分:110   
http://rpg.blue/web/htm/news101.htm
我的問題是,如果用的行走圖超過了這個菜單大小,顯示時會突出來,怎么樣讓行走圖顯示時自動縮小呢求解啊

修改脚本- - [LINE]1,#dddddd[/LINE]版主对此帖的评论:『你这不是废话么……』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: ★_茄孓    时间: 2009-4-6 18:26
要重写draw_actor_graphic(actor, x, y)方法了!
我个人想法是利用Sprite的zoom_x/zoom_y方法来调整!
作者: 柳飛鷹    时间: 2009-4-6 18:49
这个嘛……我脚本盲,谁给个脚本解决下,或者修改那个的脚本{/pz}
作者: 紫苏    时间: 2009-4-6 18:52
以下引用★_茄孓于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
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: ★_茄孓    时间: 2009-4-6 19:02
LS赞一个{/qiang}。
不知道为什么,我就想在描绘的似乎不能缩小。。。
还在从象素缩小入手,真是落伍。。
作者: 柳飛鷹    时间: 2009-4-6 19:11
谢谢啦紫苏,OK了{/jy}




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