2

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

我注意到我触摸的位置无关紧要,所有精灵都会收到OnTouchesBegan/Moved/Ended事件。

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

另外,CocosSharp 中是否有处理重叠精灵的内置解决方案?
(如果触摸在重叠区域,我希望顶部精灵对触摸做出反应,而不是底部)

4

2 回答 2

0

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

有关更多详细信息,请参阅此帖子。

于 2016-05-10T02:39:07.387 回答
0

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

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

于 2016-05-02T16:29:32.673 回答