在运行时设置 OnAutomaticHitTest 和 OnInteractiveHitTest
Set OnAutomaticHitTest and OnInteractiveHitTest during runtime
我正在放置我的 Plane Stage 和 Plane Finder 并在运行时设置属性,但有两个属性我不知道如何设置:OnAutomaticHitTest
和 OnInteractiveHitTest
。
我看到它需要 HitTestEvent
类型的东西,但我不知道如何在这里设置我的自定义函数。
有人可以帮助我吗?
您可以找到 PlaneFinderBehaviour
here
的文档
实际上,您实际上并没有定义这些属性,而是使用它们来触发事件。
例如:
public class CustomPlaneFinderBehaviour : PlaneFinderBehaviour
{
public void CustomIntPerformHitTest(Vector2 screenPosition)
{
//Triggered on interactive hit test
}
public void CustomAutoPerformHitTest(Vector2 screenPosition)
{
//Triggered on automatic hit test
}
}
然后在检查器中,您可以通过按加号按钮并在框中选择当前脚本来定义事件。然后,您可以选择更改调用的函数。
此处定义了交互式命中测试,未定义自动命中测试:
您需要使用Unity的AddListener调用
void HandleHitTest(HitTestResult htr)
{
//Handle Test Here
}
planeFinderBehavior.OnAutomaticHitTest.AddListener(HandleHitTest);
我正在放置我的 Plane Stage 和 Plane Finder 并在运行时设置属性,但有两个属性我不知道如何设置:OnAutomaticHitTest
和 OnInteractiveHitTest
。
我看到它需要 HitTestEvent
类型的东西,但我不知道如何在这里设置我的自定义函数。
有人可以帮助我吗?
您可以找到 PlaneFinderBehaviour
here
实际上,您实际上并没有定义这些属性,而是使用它们来触发事件。
例如:
public class CustomPlaneFinderBehaviour : PlaneFinderBehaviour
{
public void CustomIntPerformHitTest(Vector2 screenPosition)
{
//Triggered on interactive hit test
}
public void CustomAutoPerformHitTest(Vector2 screenPosition)
{
//Triggered on automatic hit test
}
}
然后在检查器中,您可以通过按加号按钮并在框中选择当前脚本来定义事件。然后,您可以选择更改调用的函数。
此处定义了交互式命中测试,未定义自动命中测试:
您需要使用Unity的AddListener调用
void HandleHitTest(HitTestResult htr)
{
//Handle Test Here
}
planeFinderBehavior.OnAutomaticHitTest.AddListener(HandleHitTest);