Unity3d 如何在多维数据集中动态创建OnPointerDownMixedRealityPointerEventData?
我正在使用MRTK 2.3.0版本,当“事件指针向下”创建新的游戏对象多维数据集时,我创建了一个拖动的多维数据集,但新多维数据集没有事件。我想为移动它分配一个事件。如何按代码分配事件Unity3d 如何在多维数据集中动态创建OnPointerDownMixedRealityPointerEventData?,unity3d,hololens,mrtk,Unity3d,Hololens,Mrtk,我正在使用MRTK 2.3.0版本,当“事件指针向下”创建新的游戏对象多维数据集时,我创建了一个拖动的多维数据集,但新多维数据集没有事件。我想为移动它分配一个事件。如何按代码分配事件 using System.Collections; using System.Collections.Generic; using UnityEngine; using Microsoft.MixedReality.Toolkit.Input; public class T
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Microsoft.MixedReality.Toolkit.Input;
public class TouchableCube : MonoBehaviour, IMixedRealityPointerHandler
{
Color colorBlue = Color.blue;
Renderer rend;
public void OnPointerClicked(MixedRealityPointerEventData eventData)
{
rend.material.color = colorBlue;
}
public void OnPointerDown(MixedRealityPointerEventData eventData)
{
rend.material.color = Color.red;
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
cube.transform.position = new Vector3(0,0,2);
cube.SetActive(true);
}
public void OnPointerDragged(MixedRealityPointerEventData eventData)
{
rend.material.color = Color.yellow;
Vector3 v = new Vector3(
eventData.Pointer.Position.x,
eventData.Pointer.Position.y,
eventData.Pointer.Position.z);
rend.transform.position = v;
}
您可以向中添加一个,并向其中添加侦听器。下面是如何根据示例代码添加更改多维数据集颜色的侦听器:
public void OnPointerDown(MixedRealityPointerEventData eventData)
{
rend.material.color = Color.red;
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
cube.transform.position = new Vector3(0,0,2);
var pointerHandler = target.AddComponent<PointerHandler>();
pointerHandler.OnPointerDown.AddListener((e) => material.color = Color.green);
pointerHandler.OnPointerUp.AddListener((e) => material.color = Color.magenta);
cube.SetActive(true);
}
public void OnPointerDown(MixedRealityPointerEventData事件数据)
{
rend.material.color=color.red;
GameObject cube=GameObject.CreatePrimitive(PrimitiveType.cube);
cube.transform.position=新向量3(0,0,2);
var pointerHandler=target.AddComponent();
pointerHandler.OnPointerDown.AddListener((e)=>material.color=color.green);
pointerHandler.OnPointerUp.AddListener((e)=>material.color=color.magenta);
cube.SetActive(true);
}
有关更多示例,请参见和。您可以像分配任何其他事件一样分配它,根据事件类型使用AddListener或+=方法