设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1230|回复: 4
打印 上一主题 下一主题

[已经解决] contents 是在什么地方定义的?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2010-9-24
帖子
7
跳转到指定楼层
1
发表于 2011-5-15 09:03:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 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

Lv3.寻梦者

梦石
0
星屑
1210
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

2
发表于 2011-5-15 10:00:23 | 只看该作者
self.contents 是一个 Bitmap 对象,在此之前,可能已经创建好了一个 Bitmap 对象,因此需要重新创建。



帮助文档提及到了素材的规格,因此,Bitmap 的大小就要充分考虑到皮肤。因此才要减去皮肤上下左右没边各 16 像素的图像。否则就会出现下面的小三角形:






See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2010-9-24
帖子
7
3
 楼主| 发表于 2011-5-15 10:04:06 | 只看该作者
回复 DeathKing 的帖子

非常感谢:handshake


zhangyulinz于2011-5-15 11:18补充以下内容:
还想请教一下,
elf.windowskin = Cache.system("Window1")
这一句应是加载了位图了,但下面的
self.contents = Bitmap.new(width - 32, height - 32)
这一句却并没有传参呀,那那个windowskin是如何传递并生成窗口图形的呢?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1210
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

4
发表于 2011-5-15 14:32:09 | 只看该作者
本帖最后由 DeathKing 于 2011-5-15 14:32 编辑

回复 zhangyulinz 的帖子

Window_Base < Window

皮肤交由 Window 类绘制,Window_Base 以及其子类只能绘制窗口的 contents 。
Window 类不可见,应该是系统底层。


See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2010-9-24
帖子
7
5
 楼主| 发表于 2011-5-16 08:35:02 | 只看该作者
回复 DeathKing 的帖子

非常感谢:)
好的论坛就是要有好的版主
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-27 06:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表