Project1
标题:
contents 是在什么地方定义的?
[打印本页]
作者:
zhangyulinz
时间:
2011-5-15 09:03
标题:
contents 是在什么地方定义的?
本帖最后由 zhangyulinz 于 2011-5-15 10:07 编辑
#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
# 游戏中全部窗口的超级类。
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# ● 常量
#--------------------------------------------------------------------------
WLH = 24 # 窗口行高(Window Line Height)
#--------------------------------------------------------------------------
# ● 初始化对像
# x : 窗口 X 座标
# y : 窗口 Y 座标
# width : 窗口宽度
# height : 窗口高度
#--------------------------------------------------------------------------
def initialize(x, y, width, height)
super()
self.windowskin = Cache.system("Window")
self.x = x
self.y = y
self.width = width
self.height = height
self.z = 100
self.back_opacity = 200
self.openness = 255
create_contents
@opening = false
@closing = false
end
#--------------------------------------------------------------------------
# ● 释放
#--------------------------------------------------------------------------
def dispose
self.contents.dispose
super
end
#--------------------------------------------------------------------------
# ● 生成窗口内容
#--------------------------------------------------------------------------
def create_contents
self.contents.dispose
self.contents = Bitmap.new(width - 32, height - 32)
end
在红色字这部分,contents先清除内容然后才定义?
还有,Bitmap.new(width - 32, height - 32) 这句所谓的生成窗口内容 这里的内容指的是什么? 为什么要在W 和 H上减32?
:handshake
作者:
DeathKing
时间:
2011-5-15 10:00
self.contents 是一个
Bitmap
对象,在此之前,可能已经创建好了一个
Bitmap
对象,因此需要重新创建。
_window2.png
(2.79 KB, 下载次数: 16)
下载附件
保存到相册
2011-5-15 09:54 上传
帮助文档提及到了素材的规格,因此,
Bitmap
的大小就要充分考虑到皮肤。因此才要减去皮肤上下左右没边各 16 像素的图像。否则就会出现下面的小三角形:
_window.png
(12.33 KB, 下载次数: 14)
下载附件
保存到相册
2011-5-15 09:54 上传
作者:
zhangyulinz
时间:
2011-5-15 10:04
回复
DeathKing
的帖子
非常感谢:handshake
zhangyulinz于2011-5-15 11:18补充以下内容:
还想请教一下,
elf.windowskin = Cache.system("Window1")
这一句应是加载了位图了,但下面的
self.contents = Bitmap.new(width - 32, height - 32)
这一句却并没有传参呀,那那个windowskin是如何传递并生成窗口图形的呢?
作者:
DeathKing
时间:
2011-5-15 14:32
本帖最后由 DeathKing 于 2011-5-15 14:32 编辑
回复
zhangyulinz
的帖子
Window_Base < Window
皮肤交由
Window
类绘制,
Window_Base
以及其子类只能绘制窗口的 contents 。
Window
类不可见,应该是系统底层。
作者:
zhangyulinz
时间:
2011-5-16 08:35
回复
DeathKing
的帖子
非常感谢:)
好的论坛就是要有好的版主
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1