首页 > 编程知识 正文

游戏界面设计规范,游戏界面设计师是什么

时间:2023-05-05 12:20:27 阅读:264925 作者:4729

区别 NGUI:Unity的插件,由外部公司开发的。(因开发人员离开Unity,继续开发NGUI,所以NGUI现在仍在更新)UGUI:Unity吸收NGUI的开发公司,为Unity新增原生的UGUI。 什么是GUI GUI是指那些显示在屏幕上给予用户提示的界面,这些界面不会与游戏内容产生互动或者影响。GUI用的是屏幕坐标系,都是2D效果。 主要API 所有代码都要写在OnGUI()方法中。在界面变动时每帧都会进行一次擦除、一次重绘。流式布局:GUILayout.xxx(自左向右、自上向下顺序排列布局)块布局:GUI.xxx(固定在某个位置)文本框:GUILayout.TextField(文本框内容, GUI布局的规格参数);(返回值为当前文本框的内容)按钮:GUILayout.Button(文本框内容, GUI布局的规格参数);(默认值为false,点击后返回值为true)世界坐标转化为屏幕坐标:Camera.main.WorldToScreenPoint(世界坐标位置);GUI绘制图形:GUI.DrawTexture(new Rect(图形x坐标,图形y坐标,图形宽度,图形高度),图形对象); GUI文本框 源码 using System.Collections;using System.Collections.Generic;using UnityEngine;public class GUITest : MonoBehaviour{ //设置变量,用于存储文本框内容 string s1,s2 ; int i; private void Start() { s1 = "click"; s2 = ""; i = 0; } //调用GUI方法,每帧都会进行一次擦除、一次重绘 private void OnGUI() { //s = GUILayout.TextField(s, GUILayout.Width(100)); //print(s); //判断按钮是否激活,松开时返回true,其他状态返回false if (GUILayout.Button(s1, GUILayout.Width(100))) { i++; s2 = "click-" + i; } //流布局绘制文本框 GUILayout.TextField(s2, GUILayout.Width(100)); }} GUI血条效果 源码

在unity中上传血条图片

using System.Collections;using System.Collections.Generic;using UnityEngine;public class GUIHealth : MonoBehaviour{ //定义图片对象,在unity上传图片 public Texture2D health; private float speed; private Vector3 headPos; // Start is called before the first frame update void Start() { speed = 5; } // Update is called once per frame void Update() { //物体按键移动 transform.Translate(Vector3.right * Time.deltaTime * speed * Input.GetAxisRaw("Horizontal")); transform.Translate(Vector3.forward * Time.deltaTime * speed * Input.GetAxisRaw("Vertical")); //获取物体头顶的位置 //将世界坐标系转到屏幕坐标系 headPos = Camera.main.WorldToScreenPoint(transform.position + Vector3.up*1.5f); } private void OnGUI() { //GUI绘制血条图形 GUI.DrawTexture(new Rect(headPos.x-64, Screen.height - headPos.y, 128,8), health); }}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。