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

Project1

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

[已经解决] 请问Window类里面的属性ox oy代表什么意思?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
30 小时
注册时间
2011-4-22
帖子
9
跳转到指定楼层
1
发表于 2011-4-30 18:56:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
看了说明也不明白……什么叫视口传送元?

Lv3.寻梦者

小柯的徒弟

梦石
0
星屑
1530
在线时间
1157 小时
注册时间
2008-5-24
帖子
3085

贵宾

2
发表于 2011-4-30 19:18:25 | 只看该作者
本帖最后由 「旅」 于 2011-4-30 19:24 编辑

嘛没必要在意他是什么意思的~~(毕竟有些名词是偏专业的东西)
关键在于他是怎么用,还有用了它会怎么样~~

就个人经验,ox和oy的数值会改变窗口内描绘的内容的位置,例如你在坐标(40,50)的地方描绘了“66RPG”这几个字符,接着ox = 50,oy= 60,那么“66RPG”就会变到坐标(-10,-10)了~~
也就是说ox和oy会"减"掉他的坐标~~

需要"加"坐标的话,就改为ox = -50,oy = -60,坐标就会变成(90,100)了~~
回复 支持 反对

使用道具 举报

Lv3.寻梦者

酱油的

梦石
0
星屑
1030
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

3
发表于 2011-5-1 00:43:18 | 只看该作者
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
323 小时
注册时间
2010-8-21
帖子
666
4
发表于 2011-5-1 15:10:51 | 只看该作者
ox = original x即原始(原点)x坐标,和x坐标是2个不同的概念,这个同精灵的ox基本一致,
不过精灵的ox,oy一般用到旋转的时候才会改变其数值,
而Window的ox,oy是Window的内容(c开头的那个啥?英语不及格的飘过..)的ox,
简单的可以理解为内容的x坐标的相反数,超过Window内容范围的地方将被和谐掉,

而RM最强大
的"视口"(Viewport..?没拼错吧...)相当于一张桌面,超过桌面范围的内容将被和谐掉,
新建一个窗口要指定一个视口,不过默认是全屏(0,0,640,480),修改视口的功能被
Window_Base初始化直接 super() 了
而Window内容(c打头的那个)的视口却不是这个视口(好纠结...),
F1中说的是:
Window内部由大量精灵构成,所以可以认为"显示内容"的也是一个精灵,生成一个
精灵也要指定一个视口(更纠结...),所以,Window内容(c打头的那个)的视口,就是
超过Window内容范围的地方
,Window内容范围就是Window的
Rect.new(self.x+16,self.y+16,self.width-32,self.height-32)
[这就是为什么F1中说: 光标的矩形(Rect)。以(-16,-16)的相对座标指定窗口的左上角。]
设Window显示"内容的"精灵为:   @_c字打头
Window类中可能有这样的定义:

@_c字打头 = Sprite.new(Viewport.new(Rect.new(self.x+16,self.y+16,self.width-32,self.height-32)))
@_c字打头.bitmap = self.contect (记起来了...?)
@_c字打头.x = self.x + 16
@_c字打头.y = self.y + 16
而Window的ox则可能这么定义
def ox=(ox)
  @_c字打头.ox = ox
end
def ox
  @_c字打头.ox
end
当然,有问题:当被释放的时候,要抛出(为什么是"抛"...)RGSSError
   raise RGSSError, "disposed window"
即:
def ox=(ox)
  if self.disposed?
   raise RGSSError, "disposed window"
  else
    @_c字打头.ox = ox
  end
end
def ox
   if self.disposed?
   raise RGSSError, "disposed window"
  else
     @_c字打头.ox
  end
end

当然不用了解....
不知不觉打了这么多字了...费了这么多话,反正:

Window的ox就是内容的ox坐标,F1说明了的:
窗口内容传送元原点的 X 座标,根据该值变化进行滚动



评分

参与人数 1星屑 +1000 梦石 +2 收起 理由
「旅」 + 1000 + 2

查看全部评分

>>猛戳>>MetalSagaR游戏主页<<这里<<
欢迎提供您的意见
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-25 19:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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