自定义界面

- 坐标与定位

 

先普及一下

 

首先是这里的x,y坐标系与我们通常数学所用的x,y坐标系稍有不同

 

按照通常的数学坐标系,可能大家对于屏幕的x,y定位都是这样的:

 

 

其实这是不对的= =~

 

正确的坐标系应该是

 

 

有photoshop的同学也可以打开里面的标尺工具看看他的x,y坐标,同样是以左上角为原点。

 

 

 

然后

 

所有显示元素,如对话框,按钮,图片,都是以它的矩形范围最左上角为注册点

 

注册点等于是元素的重心,例如当把元素移动到点(x:100,y:200) 时,元素的注册点将会刚好对准这个位置。

 

 

同时

 

所有自定义的基本显示元素(你可以在下一章节了解什么是GAo的基本显示元素),如图片,对话框,它的默认位置都是x=0,y=0。

 

即是说,在显示它之前,你需要先把他移动到所需要的位置上。

 

 

为了方便各种UI的定位,我们设定了坐标点(Point)系统

 

在ui.xml中,我们可以预先设定所需要的点,然后在脚本中,可以让各种元素直接移动在预定的几个点上。

 

且系统默认设定了11个系统默认坐标点,其名称和位置分别是:

 

 

 

同时还可以在点的基础上设置方向

 

例如,一个任务对话框在AVG游戏中,通常都是显示在游戏界面下方的的正中间。

 

或者说是POINT_D的正上方?如下

 

 

方向正是这样使用的,你只需要在脚本中输入:( GAo中默认系统对话框为UI_DIALOG )

 

 

位置  UI_DIALOG  POINT_D,上

 

即可,意为处于POINT_D的正上方

 

还可以使用的方向有

 

中文
英文
U
右上
LU
R
右下
RD
D
左下
LD
L
左上
LU
C

 

 

自定义POINT

 

ui.xml中有一个名为pointlist的列表,可以在这里自己添加所需要的点

 

格式为:

 

 

<point name="点名称" value="x坐标,y坐标,默认方向" />

 

其中默认方向可以不填写,不填写则默认以元素左上角为注册点来移动,等价于方向中的“右下”。

 

若填写了,比如

 

 

<point name="mypoint1" value="100,100,上" />

 

则当执行位置操作且没有填写方向时

 

 

位置  UI_DIALOG  mypoint1

 

等价于

 

 

位置  UI_DIALOG  mypoint1,上