首先在创建虚拟按钮之前,还是要首先了解imageTarget的创建方式,我自己时参考dzyi的博客弄的,推荐大家,写的很详细。
地址:http://blog.csdn.net/dzyi_/article/details/22898929
创建虚拟按钮我参考的是官方的example。
第一步,按照dzyi的博客创建imageTarget和你要现实的模型,以及模型的位置。
第二步,将VirtualButton的Prefab拖拽到你自己的imageTaget下面。
第三步,在你的ImageTarget下,添加你自己的组件。组件需要继承IVirtualButtonEventHandler。
我自己的代码如下
using UnityEngine;
using System.Collections;
public class ST_VBEventHandler : MonoBehaviour,
IVirtualButtonEventHandler{
public GameObject mBoll ;
// Use this for initialization
void Start () {
VirtualButtonBehaviour[] vbs = GetComponentsInChildren<VirtualButtonBehaviour>();
for (int i = 0; i < vbs.Length; ++i)
{
vbs[i].RegisterEventHandler(this);
}
Debug.Log ("asdfasdf=========================================asd");
// Get handle to the teapot object
// mBoll = transform.FindChild("teapot").gameObject;
}
public void OnButtonPressed(VirtualButtonAbstractBehaviour vb)
{
Debug.Log("OnButtonPressed=======::" + vb.VirtualButtonName);
if (mBoll.activeSelf) {
mBoll.SetActive(false);
} else {
mBoll.SetActive(true);
}
}
/// <summary>
/// Called when the virtual button has just been released:
/// </summary>
public void OnButtonReleased(VirtualButtonAbstractBehaviour vb)
{
Debug.Log("OnButtonReleased::" + vb.VirtualButtonName);
}
// Update is called once per frame
void Update () {
}
}
其中主要是要实现两个方法, OnButtonPressed 和 OnButtonReleased。第一个是虚拟按钮点击时,第二个时按钮推出时的处理。
基本上到这里虚拟按钮的处理就完成了。
自己试试吧!