tutorial_gui_repositioning - seraph526/godot-se GitHub Wiki
尺寸和锚点 (Size and Anchors)
如果游戏通常只是在相同的设备上,以相同的分辨率运行,controls的布局,设置每个元件的位置和大小,将会是件简单的事。但很少是这样的情况。
现今,只有TVs有标准的分辨率和长宽比。其他的调协,从电脑显示器到平板电脑,到笔记本和移动电话有不同的分辨率和长宽比。
有几种解决此问题的办法,但是,现在,让我们只是设想屏幕分辨率改变了,controls需要被重新定位。一些需要跟随动于屏幕底部,另一些要置于屏幕顶部,或者屏幕的左右两侧。
这些是通过设计controls的"margin"属性实现的。每个control有4个margin属性:left,right,bottom和top.默认情况下,所有的属性都是以像素为单位,相对于父级左上角的距离或者(没有父级的control)则是viewport.
当水平(左,右)和或垂直(上,下)锚点修改为END属性,那么margin值是相对于父级control或viewport的右下角。
以下是设置以父级右下角扩展的例子,当重定义父级的尺寸时,control会自动重新定位,距离边距保持在20 pixel。
最后,也有一个ratio选项,0代表左,1代表右,其他任何中间值代表相应的位置比例。
容器 (Containers)
这里有一个十分困难的问题,有两种解决方案:
style boxes
title menu example
containers
theme
focus