.1.场景跳转不销毁对象 DontDestroyOnLoad(gameobject);
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
/*
*创建者:
*创建时间:
*描述:
*版本:
*/
public class _3_7 : MonoBehaviour
{
public GameObject es;//事件系统
public GameObject canvas;//幕布
public Button btnA, btnB;
// Start is called before the first frame update
void Start()
{
DontDestroyOnLoad(es);//场景跳转UI不销毁,幕布及事件系统
DontDestroyOnLoad(gameObject);
btnA=canvas.transform.GetChild(2).GetChild(0).GetComponent<Button>();
btnB=canvas.transform.GetChild(2).GetChild(1).GetComponent<Button>();
btnA.onClick.AddListener(Btn_A);//按钮点击事件通过点击方法添加按钮事件监听,免拖脚本挂载游戏对象,选择对应的方法
btnB.onClick.AddListener(Btn_B);//添加事件监听AddListener方法参数为委托类型,需要注意委托通过泛型指定的参数类型
}
public void Btn_A()
{
SceneManager.LoadScene(1);
}
public void Btn_B()
{
SceneManager.LoadScene(0);
}
}
2.复选框按钮 Toggle
是否选中 isOn
可以通过脚本的方式限制为单选框
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
/*
*创建者:
*创建时间:
*描述:
*版本:
*/
public class _3_7_1 : MonoBehaviour
{
public Toggle man, woman;
// Start is called before the first frame update
void Start()
{
man.onValueChanged.AddListener(Man);//复选框按钮通过值更新方法添加事件监听;
woman.onValueChanged.AddListener(Woman);
}
// Update is called once per frame
void Update()
{
}
void Man(bool b)//复选框的委托参数类型为布尔值isOn
{
if (b)//man是否选中
{
woman.isOn = false;
}
else if (woman.isOn == false) //woman未被选中 man的复选框属性isOn依然为true
{
man.isOn = true;
}
}
void Woman(bool b)
{
if (b)
{
man.isOn = false;
}
else if (man.isOn == false)
{
woman.isOn = true;
}
}
}
3.九宫格切片
将图片更改为Sprite类型,通过图片精灵编辑,适用于有边框的图片
4.滑动条 Slider
通过值更新OnValueChanged方法添加事件监听,适用于音量大小的调节
5.滚动条 Scrollbar
通过值更新OnValueChanged方法添加事件监听,不同于Slider的点在于Numbers Of Steps,可以设置可以滑动的节点有多少个,例如:2个节点可拖动的只有min,max两个值,适用于长游戏界面显示,类似于分页