в Unity3D У меня есть объект-кнопка, у которого есть изображение, как у ребенка. Пока все хорошо.
Теперь я хотел бы сделать область выбора кнопки (хит-зону) меньше, чем размер дочернего изображения , Это возможно? Я знаю, что можно создать большую зону попадания, но не знаю, возможно ли это, когда вы хотите уменьшить ее.
Есть ли доступный скрипт, который делает зону попадания меньше дочернего изображения?
Этот скрипт прикреплен к моей кнопке, которая меняет изображение дочернего элемента (при наведении курсора), но зона попадания по-прежнему имеет тот же размер (который я хочу, чтобы он был меньше), чем дочернее изображение:
class BtnSwapImage : MonoBehaviour, IPointerExitHandler, IPointerEnterHandler
{
private Image image;
private Sprite imgPlayHover, imgPlay;
private Transform _obj;
void Start() {
imgPlayHover = Resources.Load <Sprite>("GUI/gui_main_btnplayhover_720p");
imgPlay = Resources.Load <Sprite>("GUI/gui_main_btnplay_720p");
IterateChildren(this.transform);
}
void IterateChildren(Transform trans)
{
// Debug.Log(trans.name); // Do whatever logic you want on child objects here
if (trans.childCount == 0) return;
foreach(Transform obj in trans)
{
if (obj.name == "Image") _obj = obj;
IterateChildren(obj);
}
}
public void OnPointerEnter(PointerEventData eventData)
{
Debug.Log ("OnPointerEnter");
this._obj.GetComponent<Image>().sprite = imgPlayHover;
}
public void OnPointerExit(PointerEventData eventData)
{
Debug.Log ("OnPointerExit");
this._obj.GetComponent<Image>().sprite = imgPlay;
}
}