我使用vuforia sdk来跟踪2d标记。现在我可以处理标记检测并丢失。 Vuforia sdk有一个.cs文件。它的内容:
namespace Vuforia
{
public class DefaultTrackableEventHandler : MonoBehaviour,
ITrackableEventHandler
{
private TrackableBehaviour mTrackableBehaviour;
void Start()
{ ... }
public void OnTrackableStateChanged(
TrackableBehaviour.Status previousStatus,
TrackableBehaviour.Status newStatus)
{
....
}
}
}
我尝试覆盖OnTrackableStateChanged
功能。所以我创建了一个新的.cs文件。
public class ImageTargetScript : DefaultTrackableEventHandler {
public void OnTrackableStateChanged(
TrackableBehaviour.Status previousStatus,
TrackableBehaviour.Status newStatus)
{
Debug.Log("**OVERRIDE FUNCTION**");
}
}
我将新的.cs文件拖到游戏对象上。当我在团结中运行此代码时,我不会将输出文本视为" OVERRIDE FUNCTION"。
我的错是什么?如何覆盖此功能?
答案 0 :(得分:2)
基类中的OnTrackableStateChanged
应标记为virtual
,因此可以覆盖它(现在它不能,您应该在IDE中看到有关此内容的警告)。覆盖方法中应包含override
关键字:
public virtual void OnTrackableStateChanged(...) { }
public override void OnTrackableStateChanged(...) { }