我创建了一个包含许多 CCMenu 节点的简单滚动视图。只要我不拖动菜单上方的区域(因为它具有更高的优先级),滚动就可以正常工作。所以我通过注册鼠标事件解决了这个问题,如下所示:
[[CCEventDispatcher sharedDispatcher] addMouseDelegate:self priority:INT_MIN+1];
滚动适用于此修复程序,但由于滚动条具有更高的优先级,因此永远不会触发 CCMenu 选择器。如何通过让图层始终检测鼠标事件以及仅通过点击工作的 CCMenu 项目来解决此问题(我不希望它们在拖动时工作)?请注意,我正在使用 OSX 和 cocos2d 2.0。