目的是将检测和响应分离开,降低耦合性,提高易用性;
主要功能:鼠标(手柄)指向、移开、点击物体(这里的物体可以是游戏物体、模型、UGUI、NGUI等等,可以说几乎任何需要交互的对象都适用),响应这三个操作;
基本原理:通过射线(Ray)来检测目标对象;
主要脚本:1、ButtonSetFather(定义一个父类主要包含三个响应方法,无需挂载)
2、OnTagetButton(挂在目标物体上,注册三个响应事件)
3、NormalButtonSet(挂在目标物体上重写父类方法,实现各自需求的功能)
4、InteroperatToRay(用来发射射线来检测碰触到的物体,随便挂载一个物体上)
5、还有一点不要忘记,目标物体上一定要有BoxCollider,大小自己调整
public abstract class ButtonSetFather : MonoBehaviour
{
public abstract void OnFocusRespons(); //鼠标指向响应
public abstract void OnLoseFocusRespons();