Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity 3D VR(Unity 5.6)如何使用c#脚本添加事件触发器_C#_Unity3d_Google Cardboard_Google Vr - Fatal编程技术网

Unity 3D VR(Unity 5.6)如何使用c#脚本添加事件触发器

Unity 3D VR(Unity 5.6)如何使用c#脚本添加事件触发器,c#,unity3d,google-cardboard,google-vr,C#,Unity3d,Google Cardboard,Google Vr,我想问你如何仅使用脚本添加事件触发器,如ipointerdown,因为我的对象是使用脚本生成的。我已经在其中添加了事件触发器,但我不知道如何添加ipointerdown事件。谢谢各位 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; public class spawn : MonoBehaviour { //

我想问你如何仅使用脚本添加事件触发器,如ipointerdown,因为我的对象是使用脚本生成的。我已经在其中添加了事件触发器,但我不知道如何添加ipointerdown事件。谢谢各位

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;

public class spawn : MonoBehaviour {

    //
    int buatrandom;
    int jumlahrandom = 16 ;

    int objek1 ;
    int objek2 ;
    int objek3 ;

    int checkobjek;
    int checkobjekawal;

    string simpan1;
    string simpan2;
    string simpan3;

    public GameObject target1;
    public GameObject target2;
    public GameObject target3;

    public int [] simpannomorobject ;
    public GameObject[] nomorasset;

    public float speed =10f;
    public float berat = 1.0f;

    // Use this for initialization
    void Start () {
        simpannomorobject = new int[3]; 
        for (int i = 0; i < 2; i++) {
            buatrandom = Random.Range (0, jumlahrandom);
            simpannomorobject [i] = buatrandom;
            if (i > 0){
                if (i < 3) {
                    buatobjek ();
                }
            }
        }
    }

    void buatobjek (){
        objek1 = simpannomorobject [0];
        objek2 = simpannomorobject [1];
        objek3 = simpannomorobject [2];

        simpan1 = objek1.ToString();
        simpan2 = objek2.ToString();
        simpan3 = objek3.ToString();

        target1 = Instantiate (nomorasset [objek1], new Vector3 (0, 0, 3.0f), Quaternion.identity);
        target2 = Instantiate (nomorasset [objek2], new Vector3 (4.0f, 0, 0), Quaternion.Euler(0,90,0));
        target3 = Instantiate (nomorasset [objek3], new Vector3 (-4.0f, 0, 0), Quaternion.Euler(0,-90,0));

        target1.AddComponent<BoxCollider> ();
        target2.AddComponent<BoxCollider> ();
        target3.AddComponent<BoxCollider> ();

        target1.AddComponent<EventTrigger> ();
        target2.AddComponent<EventTrigger> ();
        target3.AddComponent<EventTrigger> ();

        target1.tag = simpan1;
        target2.tag = simpan2;
        target3.tag = simpan3;


    }

    // Update is called once per frame
    void Update () {
        target1.transform.Rotate(0,100* Time.deltaTime,0);
        target2.transform.Rotate(0,100* Time.deltaTime,0);
        target3.transform.Rotate(0,100* Time.deltaTime,0);
    }



}
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
使用UnityEngine.EventSystems;
公共类繁殖:单行为{
//
布阿特兰多姆国际酒店;
int jumlahrandom=16;
int objek1;
int objek2;
int objek3;
int checkobjek;
int checkobjekawal;
字符串simpan1;
字符串simpan2;
字符串simpan3;
公开游戏对象target1;
公开游戏对象target2;
公开游戏对象target3;
公共int[]simpannomorobject;
公共游戏对象[]nomorasset;
公共浮子速度=10f;
公众浮标BEAT=1.0f;
//用于初始化
无效开始(){
simpannomorobject=newint[3];
对于(int i=0;i<2;i++){
buatrandom=随机范围(0,jumlahrandom);
simpannomorobject[i]=布阿特兰多姆;
如果(i>0){
如果(i<3){
buatobjek();
}
}
}
}
void buatobjek(){
objek1=simpannomorobject[0];
objek2=simpannomorobject[1];
objek3=simpannomorobject[2];
simpan1=objek1.ToString();
simpan2=objek2.ToString();
simpan3=objek3.ToString();
target1=实例化(nomorasset[objek1],新向量3(0,0,3.0f),四元数.identity);
target2=实例化(nomorasset[objek2],新向量3(4.0f,0,0),四元数.Euler(0,90,0));
target3=实例化(nomorasset[objek3],新向量3(-4.0f,0,0),四元数.Euler(0,-90,0));
target1.AddComponent();
target2.AddComponent();
target3.AddComponent();
target1.AddComponent();
target2.AddComponent();
target3.AddComponent();
target1.tag=simpan1;
target2.tag=simpan2;
target3.tag=simpan3;
}
//每帧调用一次更新
无效更新(){
target1.transform.Rotate(0100*Time.deltaTime,0);
target2.transform.Rotate(0100*Time.deltaTime,0);
target3.transform.Rotate(0100*Time.deltaTime,0);
}
}
void buatobjek(){
// ....
EventTrigger eventTrigger1=target1.AddComponent();
Entry=neweventtrigger.Entry();
entry.eventID=EventTriggerType.PointerDown;
entry.callback.AddListener((数据)=>{OnPointerDownDelegate((PointerEventData)数据);});
eventTrigger1.triggers.Add(条目);
}
PointerDownDelegate上的公共无效(PointerEventData数据)
{
Log(“OnPointerDownDelegate调用”);
}
void buatobjek (){
    // ....
    EventTrigger eventTrigger1 = target1.AddComponent<EventTrigger> ();
    EventTrigger.Entry entry = new EventTrigger.Entry( );
    entry.eventID = EventTriggerType.PointerDown;
    entry.callback.AddListener( ( data ) => { OnPointerDownDelegate( (PointerEventData)data ); } );
    eventTrigger1.triggers.Add( entry );
}

public void OnPointerDownDelegate( PointerEventData data )
{
    Debug.Log( "OnPointerDownDelegate called." );
}