2017-03-26 3 views
0

J'écris l'application mobile Unity. Je veux ajouter l'icône de fermeture (X) pour une scène. Et ajoutez un peu de remplissage autour de l'icône pour agrandir la zone cliquable (car l'icône n'est pas si grande).Zone cliquable autour de l'icône dans Unity

J'écrit le code suivant:

// create button 
GameObject buttonContainerObject = new GameObject("XIconContainer", typeof(Button), typeof(RectTransform)); 
buttonContainerObject.GetComponent<Button>().onClick.AddListener(onClickAction); 

// set button location and size 
buttonContainerObject.transform.SetParent(canvas.transform); 
buttonContainerObject.GetComponent<RectTransform>().sizeDelta = new Vector2(area_width, area_hight) 
buttonContainerObject.transform.position = some_position; 

// create image 
GameObject buttonIconObject = new GameObject("XIconImage", typeof(Image)); 
buttonIconObject.GetComponent<Image>().sprite = xIconSprite; 

// set image location and size 
buttonIconObject.transform.SetParent(buttonContainerObject.transform); 
buttonIconObject.transform.localPosition = new Vector3(0f, 0f); // in the center of button 

Mais quand je construis projet et tapez sur le bouton, il répond que si je tape sur l'image, image (et à l'intérieur des limites buttonContainerObject) rien ne se passe.

Que puis-je faire dans cette situation? Merci pour la réponse.

Répondre

0

Vous pouvez simplement faire un gros bouton et changer sa transformation rectale pour qu'elle soit aussi grande que vous voulez et mettre votre icône en tant qu'enfant de l'objet.

+0

Avez-vous lu mon code? J'avais fait ça, mais ça n'a pas marché. –

+0

Est-ce que ça marche avant de construire? J'essayerais toujours de le faire dans l'inspecteur par vous-même si le code ne fonctionne pas – pasotee