找回密码
 register

QQ登录

只需一步,快速开始

查看: 1116|回复: 0

[游戏教程] (CEGUI)统一度量系统

[复制链接]

[游戏教程] (CEGUI)统一度量系统

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:94
  • 打卡月天数:17
  • 打卡总奖励:94
  • 最近打卡:2025-01-18 01:28:20
Waylee

主题

0

回帖

1万

积分

仙帝

积分
12100
Waylee 2021-8-23 21:11 | 显示全部楼层 |阅读模式

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×
统一度量系统使用指南


注意:此教程仅适用于CEGUI >= 0.4.0


统一度量系统使得我们可以用相对部分和绝对部分共同来表示一个坐标或大小。这给窗口布局带来了极大的方便。比如:你可以用相对尺寸来表示高度,使用绝对大小表示宽度,或者混合使用。


统一度量系统共有三种形式:
* UDim : 简单的一维 * UVector2 : 由两个UDim组成的二维向量 * URect : 用四个UDim表示一个矩形,依次为:左,上,右,下
UDim UDim是最简单的了格式为 :{scale, offset} 例如 :{1,0}
格式为 :{scale, offset} 例如 :{1,0} 父窗口的值乘以“scale”然后加上offset就是最后的结果(单位都是像素)。例如:假如上面的例子是窗口的UnifiedWidth属性值,我们将得到和其父窗口一样宽的窗口。另一个例子: {0.5, 25} 这将使得到的窗口宽度为其父窗口的一半加上25像素。
使用单一UDim作为其值的属性有:
* UnifiedXPosition * UnifiedYPosition * UnifiedWidth * UnifiedHeight


UVector2 UVector2是用来表示位置和大小的。格式为 :{{x-scale, x-offset}, {y-scale, y-offset}} 例如 :{{1, 0}, {1, 0}}


UVector2中包含的两个UDim很像。还是用例子说明吧:假如上面的例子代表窗口的UnifiedSize属性,我们将得到和它的父窗口一样大小的窗口。 {{1,0},{0,100}}


上例将产生一个和其父窗口一样宽,但是高度固定为100像素的窗口。
使用Uvector2作为其值的属性有:
* UnifiedPosition * UnifiedSize * UnifiedMinSize * UnifiedMaxSize
URect 最后的一种是URect。它有点特殊,它定义了左,上,右,下四个坐标,而不是大小或位置。由于参数很多,我将用“ls”代替“left-scale”,用“to”代替“top-offset”等等。格式为 :{{ls,lo},{ts,to},{rs,ro},{bs,bo}} 例如 :{{0,0},{0,0},{1,0},{1,0}}


上述代码是DefaultWindow类型窗口的默认矩形。它将覆盖其父窗口的整个区域。只有一个属性使用URect值 ---- UnifiedAreaRect。我们定义矩形区域而不是其大小的做法是很聪明的。比如:假如我们想使一个窗口覆盖它的父窗口,但要为父窗口的四边分别留出10像素的大小,代码可以这样写: {{0,10},{0,10},{1,-10},{1,-10}}


此例可以看出,绝对部分可以取负数。
XML中的应用举例 <Property Name="UnifiedPosition" Value="{{0.1,10},{1.0,-30}}"></Property>


X-position:父窗口宽度的10% + 10像素 Y-position:父窗口的高度 - 30像素


<Property Name="UnifiedSize" Value="{{0.6,5},{0.3,20}}"></Property>


Width:父窗口宽度的60% + 5像素 Height:父窗口高度的30% + 20像素


<Property Name="UnifiedXPosition" Value="{0.25,-5}"></Property>


X-position:父窗口宽度的25% - 5像素


<Property Name="UnifiedAreaRect" Value="{{0.1,0},{0.1,0},{0.9,0},{0.9,0}}"></Property>


X-position:父窗口宽度的10% Y-position:父窗口高度的10% Width:父窗口宽度的80% Height:父窗口高度的80%
您需要登录后才可以回帖 登录 | register

本版积分规则

雪舞知识库 | 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 |天天打卡

GMT+8, 2025-1-19 02:21 , Processed in 0.098085 second(s), 7 queries , Redis On.

Powered by XueWu Licensed

Copyright © Tencent Cloud.

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