我在CocosSharp游戏中有几个精灵,并为每个精灵添加CCEventListenerTouchAllAtOnce
。
我注意到触摸的地方并不重要,所有的精灵都会收到OnTouchesBegan/Moved/Ended
事件。
有没有办法让精灵只对与之相关的触摸做出反应?
此外,CocosSharp中是否有内置解决方案来处理重叠的精灵? (如果触摸处于重叠区域,我希望顶级精灵对触摸起反应,但不会触摸底部)
答案 0 :(得分:0)
使用触摸位置和精灵边界框编写匹配文本,或者考虑使用MenuItemImage。
CCMenu.cs在其ItemForTouch方法中有一个示例实现。
答案 1 :(得分:0)
您必须学习如何处理触摸事件,触摸侦听器和吞咽触摸。当精灵注册触摸事件时,任何屏幕触摸都将触发事件。然后由您以编程方式确定触摸的点是否在精灵的边界框中。