Кликабельная область вокруг значка в Unity

Я пишу мобильное приложение Unity. Я хочу добавить значок закрытия (X) для одной сцены. И добавьте немного отступов вокруг иконки, чтобы увеличить кликабельную область (потому что значок не такой большой).

Я написал следующий код:

// 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

Но когда я строю проект и нажимаю на кнопку, он реагирует, только если я нажимаю на изображение, внешнее изображение (и внутри buttonContainerObject границы) ничего не происходит.

Что я могу сделать в этой ситуации? Спасибо за ответ.

1 ответ

Вы можете просто сделать большую кнопку и изменить ее прямоугольное преобразование так, чтобы оно было настолько большим, насколько вы хотите, и поместить свой значок как дочерний элемент объекта.

Другие вопросы по тегам