Potrzebuję go, ponieważ image
jest mały i trudno go dotknąć na urządzeniu mobilnym. Muszę więc mieć większy obszar interakcji, ale image
powinien pozostać mały.Unity3d new UI: Jak ustawić interaktywną strefę przycisku większą niż dołączony obraz?
Odpowiedz
Uważam, że najbardziej właściwym sposobem, aby taki przycisk jest tak:
- Utwórz nowy przycisk, usuń domyślną dziecko Text.
- Ustaw
Width
iHeight
przycisku tak, jak potrzebujesz do rozmiaru hitzone. - Dodaj
Vertical Layout Group
element do przycisku. - Ustaw
Padding
zVertical Layout Group
na pożądaną różnicę między hitzone i wizualizacjami. Usuń domyślneUstaw alfa domyślnego komponentuImage
składnik.Image
na zero.- Umieść swój obraz jako dziecko przycisku.
- Odcień poprawki: przeciągnij (lub ustaw inaczej) dziecko
Image
naTarget Graphic
pole zButton
.
Należy ustawić tak, aby obraz był wewnątrz obiektu przycisku. Tak:
W ten sposób można mieć przycisk tak duża, jak chcesz i Obraz może być dowolnej wielkości. Jeśli nie potrzebujesz obrazu w tle, po prostu uczyń ten kolor przezroczystym na obrazie obiektu obiektu.
Tak, ale obraz nie zabarwia się po naciśnięciu przycisku. Czy są jakieś gotowe rozwiązania, czy powinienem odcień ręcznie? – George
Po dodaniu nowego 'Obrazka' jako dziecka' Button', należy również zmienić ** Grafikę docelową ** przycisku ** (skryptu) **, aby odnieść się do tego nowego obrazu. – SwiftArchitect
Dzięki to działa. Ale nie powinieneś usuwać domyślnego komponentu Image (krok 5), powinieneś ustawić alfa na 0. Kiedy usuniesz komponent obrazu na przycisku, hitzon będzie równy rozmiarowi obrazu potomnego (czyli mniejszego). Również nie musisz robić 3 kroku. – George