我刚刚为Unity3D购买了EasyTouch 3.1插件,我无法让EasyTouch通过连接到空对象的脚本中的碰撞器识别对象。
如果有人有使用EasyTouch的经验,我会非常感谢您的帮助。
以下是我使用的代码:
using UnityEngine;
using System.Collections;
public class tet1 : MonoBehaviour {
// Subscribe to events
void OnEnable(){
EasyTouch.On_TouchStart += On_TouchStart;
}
// Unsubscribe
void OnDisable(){
EasyTouch.On_TouchStart -= On_TouchStart;
}
// Unsubscribe
void OnDestroy(){
EasyTouch.On_TouchStart -= On_TouchStart;
}
// At the touch beginning
public void On_TouchStart(Gesture gesture){
// Verification that the action on the object
print ("YEP: " + gesture.pickObject.name);
}
}
点击对象时收到以下消息:
NullReferenceException:未将对象引用设置为对象的实例
我在以下行中得到它:" print(" YEP:" + gesture.pickObject.name);"所以我想我在这行代码中做错了,我无法弄明白。
答案 0 :(得分:1)
我没有使用该插件的经验,但似乎您正在注册任何触摸事件,然后,在处理程序上,您不会检查对象是否被触摸。
你应该选择
public void On_TouchStart(Gesture gesture)
{
// ensure an object is touched
if (gesture.pickObject != null)
{
// Verification that the action on the object
print ("YEP: " + gesture.pickObject.name);
}
}