前文:https://blog.csdn.net/Jaihk662/article/details/86775081
一、两种绑定方法
先写一个脚本如下:
原则:一般来讲,是谁的脚本就挂在谁的身上,便于管理,所以这个脚本就挂在按钮图片上
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MyButton : MonoBehaviour
{
public void AABBCC()
{
Debug.Log("面板属性栏绑定");
}
public void OnClick()
{
Debug.Log("代码绑定");
}
}
第一种绑定方法:面板属性栏绑定“AABBCC方法”:
第二种绑定方法:代码绑定
其实很简单,只要方法名为OnClick(),那么当按钮被按下时就会自动使用该方法(内部委托解决)
二、一种监听方法
这种方法是相对于上述两种,最常用的按钮交互方法
也非常简单:对于所有的按钮,都添加一个Unity3D自带脚本:菜单Component→NGUI→Internal→Event Listener
之后任何脚本都可以通过 UIEventListener.Get(button).onClick 来获得按钮点击事件
- UIEventListener.Get(button).onClick = method:当按钮button按下时,调用方法method,其中方法method必须含有参数GameObject button
- gameObject.SetActive(bool):是否隐藏物件
一个例子如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class VolumnCtro : MonoBehaviour
{
private GameObject open, close;
void Start()
{
open = GameObject.Find("Volume");
close = GameObject.Find("Volumeoff");
close.SetActive(false);
AudioListener.volume = 1;
}
void Update()
{
UIEventListener.Get(open).onClick = VolumeOff; //也可以放进Start()中
UIEventListener.Get(close).onClick = VolumeOn;
}
void VolumeOff(GameObject buttom) //关闭声音
{
close.SetActive(true);
open.SetActive(false);
AudioListener.volume = 0;
}
void VolumeOn(GameObject buttom) //开启声音
{
close.SetActive(false);
open.SetActive(true);
AudioListener.volume = 1;
}
}
效果如下:控制游戏声音开关
三、点击按钮后播放声音
第一步:先给按钮添加声音组件
第二步:设置
- Audio Clip:播放哪个声音
- Trigger:什么触发方式,一般都是单击(On Click)
- Volume:声音大小
搞定!