最近要做一個(gè)可點(diǎn)擊的面板,有兩種可行方案:
1、給面板加個(gè)Button組件;
2、實(shí)現(xiàn)IPointerClickHandler接口。
第一種方案相當(dāng)于給面板額外增加了一個(gè)組件,但由于Button的很多功能(如:點(diǎn)擊反饋等)其實(shí)是不需要的,有點(diǎn)大材小用了,本著不增加冗余資源和冗余計(jì)算的原則,我們用方案2就足夠了。
查看官方Demo后,我仿照著實(shí)現(xiàn)了IPointerClickHandler接口,但是始終無法響應(yīng),一度以為是UI上的設(shè)置哪里不對(duì),在經(jīng)歷了一番折騰后還是不行,最后Google了一下,Unity Answer中找到了答案,僅實(shí)現(xiàn)IPointerClickHandler是不夠的,還需要同時(shí)實(shí)現(xiàn)IPointerDownHandler, IPointerUpHandler,也就是『配套』的『按下』和『抬起』兩個(gè)接口,這樣就OK了,不知道這是Unity的一個(gè)bug還是官方有意這么做的,至少官方的Demo是個(gè)大坑。。