unity中的UI

一、UI的渲染模式:
1、Screen Space-Overlay直接在原先的三维场景中叠加一个2D场景
2、Screen Space-Camera(要指定一个摄像机)在UI上面显示3D模型
3、World Space(要指定一个摄像机)UI就是游戏场景中的一个部分,VR中常用的方式
二、弹出框
1、创建一个Image,改名为Windows,把开始的图片托上去
2、会发现图标锯齿感很强,所以用Sprite进行修改。首先在新的版本要在Package Manager里面下载在这里插入图片描述
然后在图片的检视面板点击Sprite Editor
在这里插入图片描述
将Border改为12
在这里插入图片描述
这样图片显示就比没有锯齿感了在这里插入图片描述
新建一个脚本(SettingPop),脚本里面写两个方法,一个是Open(),一个是Close(),分别代表弹出框的弹出与不弹出状态。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SettingPopup : MonoBehaviour
{
    public void Open()
    {
        gameObject.SetActive(true);
    }
    public void Close()
    {
        gameObject.SetActive(false);
    }
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

修改UIController这个脚本,实现点击按钮后弹出弹出框。首先要定义[SerializeField] private SettingPopup settingPop;然后再Start方法中调用SettingPopup的Close(),使得在开始的时候不弹出弹出框。然后在OnOpenSetting()方法中调用settingPop.Open();

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class UIController : MonoBehaviour
{
    [SerializeField] private Text scoreLabel;
    [SerializeField] private SettingPopup settingPop;
    // Start is called before the first frame update
    void Start()
    {
        settingPop.Close();
    }

    // Update is called once per frame
    void Update()
    {
        scoreLabel.text = Time.realtimeSinceStartup.ToString();
    }
    public void OnOpenSetting()
    {
        settingPop.Open();
    }
    public void OnPointerDown()
    {
        Debug.Log("pointer Down");
    }
}

在Windows下面新建一个Button,放在合适的位置
在这里插入图片描述
然后来进行关联
UIController的UI Controller脚本中的Setting Pop把Windows拖进去形成关联
在这里插入图片描述
在希望点击出现弹出框的按钮上面的On Click()事件中加入OnOpenSetting()这个方法在这里插入图片描述
然后在那个红叉叉按钮那里加入Close()方法在这里插入图片描述
按钮在选择方法的时候有静态参数和动态字符串两种。如果是动态字符串输入的任何内容都会提交;静态参数提前要在代码中声明string,只能发送提前定义好了的单个字符串。一般使用动态字符串,会比较灵活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值