PointerClick只能使用一次

时间:2015-07-29 12:04:07

标签: c# events unity3d eventtrigger

我有一个问题&这让我烦恼。

我的预制件只包含一个UI图像(应该是正方形)。我试图创建(通过脚本)其中许多(如5x5或10x10)。我添加了一个带有eventTrigger的pointerClick事件,用于检测click&打印点击对象'名称。但有一个问题。 PointerClick事件只能工作一次。它应该为每次点击提供结果。谢谢你的帮助。

这是我的预制件'照片&我的剧本:

prefab_photo

创建

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class gameSlots : MonoBehaviour {
public GameObject gameSlot;
public int gameLevel=5;
void Start(){
    gameLevel = PlayerPrefs.GetInt ("levelSelect");

    RectTransform gameTable=gameObject.GetComponent<RectTransform>();
    float width = gameTable.rect.width/gameLevel;

    for (int i=0; i<gameLevel; i++){
        for(int j=0;j<gameLevel;j++){
            GameObject slot=(GameObject)Instantiate(gameSlot);
            slot.transform.SetParent(gameObject.transform,false);
            slot.name=(i+1)+"-"+(j+1);

            RectTransform rectTrans = slot.GetComponent<RectTransform>();
            float x= -gameTable.rect.width/2 + width*i;
            float y= gameTable.rect.height/2 - width*j-width;
            rectTrans.offsetMin=new Vector2(x,y);
            x= rectTrans.offsetMin.x + width;
            y= rectTrans.offsetMin.y + width;
            rectTrans.offsetMax=new Vector2(x,y);
        }
    }
}
PointerClick事件的

脚本

using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class slotCheck : MonoBehaviour {
   public void name(){
       Debug.Log (transform.name);
   }
}

0 个答案:

没有答案