试读《Unity 3D游戏开发》

1.GUI与GUILayout的区别。

使用GUI绘制控件的时候,需要设置控件的Rect()方法,也就是说需要设定控件的整体显示区域。这样设置的控件非常不灵活,因为它的坐标以及大小已经固定死了,这时如果控件中的内容长度发生改变,就会直接影响展示效果。例如,在界面中绘制一个按钮时,按钮中的显示文本刚好填充在整个按钮当中,如果动态加长文本的显示长度,就会超出按钮的显示范围,使按钮控件变得不伦不类。我们需要制作控件的自适应,所以不能使用Rect()方法固定控件的显示区域,而是需要使用界面布局来制作界面。

使用GUILayout来制作界面,可以很方便地为我们解决上述难题。使用GUI制作界面的时候,需要给每一个控件设定显示区域,如果控件的显示坐标没有计算准确,还会出现控件重叠的情况,而GUILayout无须设定显示区域,系统会自动帮我们计算控件的显示区域,并且保证它们不会重叠。

2.Unity脚本的生命周期。

Unity脚本从唤醒到销毁有着一套比较完善的生命周期, 添加任何脚本都必须遵守自身生命周期法则。

funciton Update()正常更新,用于更新逻辑。

funciton LateUpdate()推迟更新

function Awake()脚本唤醒

function FixedUpdate()固定更新

function Start() 在Awake()方法之后、Update()之前执行,只执行一次

function OnGUI()绘制界面

相关推荐