CocosSharp和接触

时间:2016-05-02 15:36:55

标签: android ios cocos2d-x cocossharp

我在CocosSharp游戏中有几个精灵,并为每个精灵添加CCEventListenerTouchAllAtOnce

我注意到触摸的地方并不重要,所有的精灵都会收到OnTouchesBegan/Moved/Ended事件。

有没有办法让精灵只对与之相关的触摸做出反应?

此外,CocosSharp中是否有内置解决方案来处理重叠的精灵?   (如果触摸处于重叠区域,我希望顶级精灵对触摸起反应,但不会触摸底部)

2 个答案:

答案 0 :(得分:0)

使用触摸位置和精灵边界框编写匹配文本,或者考虑使用MenuItemImage。

CCMenu.cs在其ItemForTouch方法中有一个示例实现。

答案 1 :(得分:0)

您必须学习如何处理触摸事件,触摸侦听器和吞咽触摸。当精灵注册触摸事件时,任何屏幕触摸都将触发事件。然后由您以编程方式确定触摸的点是否在精灵的边界框中。

See this post for more detail.