【问题标题】:Not able to add OnManipulationEnded via Script(MRTK)无法通过脚本 (MRTK) 添加 OnManipulationEnded
【发布时间】:2022-11-23 11:58:43
【问题描述】:

我正在尝试通过脚本添加操作事件 (OnManipulationEnded)。 下面是我想添加的事件。

我正在尝试通过以下脚本添加它:

mainobject.AddComponent<ObjectManipulator>();
mainobject.GetComponent<ObjectManipulator>().OnManipulationEnded.AddListener(() => new_position());

但这是我得到的错误: CS1593 委托“UnityAction”不接受 0 个参数。 我不知道我需要传递什么参数

在将游戏对象从位置 A 操纵到位置 B 后,我想要一个新位置。 我创建了一个新函数来计算新头寸。我希望在操作结束后调用此函数。

我对 C# 和 Unity 很陌生。有人可以帮忙吗?

问候, 马扬克

【问题讨论】:

    标签: hololens mrtk


    【解决方案1】:

    请参考ManipulationEvent Class (Microsoft.MixedReality.Toolkit.UI) | Microsoft Learn。此事件具有默认回调参数操作事件数据.因此,此参数必须包含在您的自定义函数中。可以参考Unity - Scripting API: UnityEvent (unity3d.com)和下面的方法。

    ObjectManipulator objectManipulator;
    void Start()
    {
        objectManipulator = GetComponent<ObjectManipulator>();
        objectManipulator.OnManipulationEnded.AddListener(TouchEnded);//1
        objectManipulator.OnManipulationEnded.AddListener((data) => TouchEnded(data));//2
        objectManipulator.OnManipulationEnded.AddListener((data) =>{ });//3
    }
    private void TouchEnded(ManipulationEventData arg)
    {
       
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-11
      • 1970-01-01
      • 1970-01-01
      • 2019-07-21
      • 1970-01-01
      • 2013-04-29
      • 1970-01-01
      • 2022-01-20
      相关资源
      最近更新 更多