最近要做一个可点击的面板,有两种可行方案:
1、给面板加个Button组件;
2、实现IPointerClickHandler接口。
第一种方案相当于给面板额外增加了一个组件,但由于Button的很多功能(如:点击反馈等)其实是不需要的,有点大材小用了,本着不增加冗余资源和冗余计算的原则,我们用方案2就足够了。
查看官方Demo后,我仿照着实现了IPointerClickHandler接口,但是始终无法响应,一度以为是UI上的设置哪里不对,在经历了一番折腾后还是不行,最后Google了一下,Unity Answer中找到了答案,仅实现IPointerClickHandler是不够的,还需要同时实现IPointerDownHandler, IPointerUpHandler,也就是『配套』的『按下』和『抬起』两个接口,这样就OK了,不知道这是Unity的一个bug还是官方有意这么做的,至少官方的Demo是个大坑。。