作业要求
作业内容
分析两种方法的优缺点
IMGUI:
1、如果不做复杂的界面,代码简单易用;
2、在修改模型,渲染模型这样的经典游戏循环编程模式中,在渲染阶段之后,绘制 UI 界面无可挑剔;
3、避免了 UI 元素保持在屏幕最前端,又有最佳的执行效率,一切控制掌握在程序员手中,这对早期计算和存储资源贫乏的游戏设备来说,更是弥足珍贵。
缺点:
传统代码驱动的 UI 开发效率低下,难以调试。
IMGUI是其中GUI系统通常不保留有关GUI的信息,而是反复要求您重新指定控件是什么,控件在哪里等的控件。当您以函数调用的形式指定UI的每个部分时,会立即对其进行处理(绘制,单击等),并且任何用户交互的后果都会立即返回给您,而无需您进行查询。这对于游戏UI而言效率低下,由于一切都变得非常依赖于代码,因此对于设计师来说不方便使用。
但是它对于非实时情况,由代码驱动,希望根据当前状态轻松更改显示的控件的处理是非常方便的,也就是说,它是一个很好的编辑面板的选择。
UGUI:
优点:
1、为了让设计师也能参与参与程序开发,从简单的地图编辑器、菜单编辑器等工具应运而生。 设计师甚至不需要程序员帮助,使用这些工具就可直接创造游戏元素,乃至产生游戏程序;
2、所见即所得(WYSIWYG)设计工具;
3、支持多模式、多摄像机渲染;
4、面向对象的编程。
预制设计
IMGUI
使用脚本设计血条。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
private float hSliderValue = 75f;
private void OnGUI()
{
Vector3 worldPos = new Vector3(transform.position.x, transform.position.y, transform.position.z);
Vector2 screenPos = Camera.main.WorldToScreenPoint(worldPos);
hSliderValue = GUI.HorizontalSlider(new Rect(screenPos.x - 50, screenPos.y, 100, 100), hSliderValue, 0.0f, 100.0f);
}
}
UGUI
使用unity原有的配置进行血条制作。
效果:
上面是IMGUI的效果,下面是UGUI的效果。
视频效果:
血条
预制的使用方法
IMGUI
将脚本直接挂在游戏对象即可。
UGUI
点击Assets,打开你的场景。右键点击你的游戏对象,选择UI,点击滑动条,之后场景会出现画布,画布上有血条。将血条的相关参数设置好即可。