加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
想用个高清点的窗口皮肤素材,但素材放在64*64的格子里再拉伸放大边缘全是锯齿。。
在脚本里翻了一下,决定窗口皮肤的属性是Window类下的windowskin
这个属性好像是在内部代码中被定义的,无法修改,所以是没办法改动它对素材图片(只读左上64*64范围作窗口皮肤等等)的读取方式?
把window素材替换成一个高清单图后试运行发现果然对话框读取错乱了。
我目前想到的笨办法是把窗口皮肤改成透明,单独写一个绘制位图的方法,跟Window_Message每次对窗口皮肤的调用绑定在一起,每次对话让它出现在底层达到背景的效果
但写出来之后这个图片一进游戏就存在,永远不消失...也不知道是哪里出了问题
module Cache def self.WindowSkinImage(filename) load_bitmap("Graphics/System/", filename) end end class Window_Message < Window_Base alias x20150809_initialize initialize def initialize x20150809_initialize create_DIY_sprite end def create_DIY_sprite @DIYBack_sprite = Sprite.new @DIYBack_sprite.bitmap = Cache.WindowSkinImage("Chip_Location"#素材文件名) end alias x20150809_dispose dispose def dispose x20150809_dispose dispose_DIY_sprite end def dispose_DIY_sprite @DIYBack_sprite.dispose end end
module Cache
def self.WindowSkinImage(filename)
load_bitmap("Graphics/System/", filename)
end
end
class Window_Message < Window_Base
alias x20150809_initialize initialize
def initialize
x20150809_initialize
create_DIY_sprite
end
def create_DIY_sprite
@DIYBack_sprite = Sprite.new
@DIYBack_sprite.bitmap = Cache.WindowSkinImage("Chip_Location"#素材文件名)
end
alias x20150809_dispose dispose
def dispose
x20150809_dispose
dispose_DIY_sprite
end
def dispose_DIY_sprite
@DIYBack_sprite.dispose
end
end
上面代码中大小位置什么的还没设定,请大家看看是什么导致它不是随着对话窗出现而出现的
另外,不知道这个问题有没有更好的解决方案呢?可以改变Windowskin素材图的读取方式吗? |