Project1

标题: 如何去除窗口里面因为contents太大而显示的小三角 [打印本页]

作者: 逸豫    时间: 2010-7-8 23:08
标题: 如何去除窗口里面因为contents太大而显示的小三角
RT,附图
1、让我修改皮肤就算了……
2、让我重写Window_Base使用特殊的窗口皮肤也算了……
3、修改 opacity back_opacity都没有用,已测试……
作者: 小角色    时间: 2010-7-9 00:16
{:nm_2:}逸豫的问题好难啊,可以用2套皮肤么
作者: burst_TNT    时间: 2010-7-9 01:39
既然你已经知道是contents太大,那么改小一点不就好了么?
比如你只显示【道具】两个字,self.contents.draw_text(x坐标, y坐标, 文字宽度, 文字高度, 内容, 2)里面的【文字宽度】设64就足够了嘛。
文字宽度不影响窗口宽度所以你可以放心改。如果你在其他行有比较多的文字不方便缩小文字宽度,可以在super(x坐标,y坐标,窗口宽度,窗口高度)那里把窗口宽度改大。(个人制作游戏时因为窗口大多透明用图片做底所以窗口宽、高都是无耻的640、480……)
作者: 紫苏    时间: 2010-7-9 02:04
改 Window_Base 不行么?
  1. class Window_Base
  2.   attr_reader :arrow
  3.   alias :__old__initialize__ :initialize
  4.   def initialize(x, y, width, height)
  5.     @arrow = true
  6.     @arrow_bitmap = Bitmap.new(32, 32)
  7.     __old__initialize__(x, y, width, height)
  8.   end
  9.   alias :__old__dispose__ :dispose
  10.   def dispose
  11.     @arrow_bitmap.dispose
  12.     __old__dispose__
  13.   end
  14.   def windowskin=(windowskin)
  15.     if windowskin != self.windowskin
  16.       @arrow_bitmap.blt(0, 0, windowskin, Rect.new(144, 16, 32, 32))
  17.     end
  18.     super(windowskin)
  19.     refresh_arrow
  20.     windowskin
  21.   end
  22.   def arrow=(bool)
  23.     @arrow = bool
  24.     refresh_arrow
  25.     self
  26.   end
  27.   def refresh_arrow
  28.       params = @arrow ? [:blt, 144, 16, @arrow_bitmap, Rect.new(0, 0, 32, 32)] :
  29.         [:fill_rect, Rect.new(144, 16, 32, 32), Color.new(0xff, 0xff, 0xff, 0)]
  30.       self.windowskin.send(*params)
  31.   end
  32. end
复制代码
Window_Base#arrow = true 箭头可见
Window_Base#arrow = false 箭头不可见

作者: 逸豫    时间: 2010-7-9 08:42
于是说只有这些方法了么...那就按脉子说的吧...感谢大家的参与!
作者: IamI    时间: 2010-7-9 08:52
滚动效果并不总是要定死的
……我们可以放一个后置Bitmap(不可见),然后要的时候Blt过去嘛
作者: pigsss    时间: 2010-7-9 09:37
我比LZ的问题更神奇……战斗画面一直保持2个小三角……
作者: 紫苏    时间: 2010-7-9 16:50
如何去除窗口里面因为contents太大而显示的小三角 - RMXP 技术讨论 - 66RPG - Powered by Discuz!

# 表示实例作用域的方法调用~
Window_Base#arrow= => Window_Base.new(...).arrow=




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