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