gpt4 book ai didi

ios - Cocos2d - 奇怪的 CCMenu 和 CCMenuItem 行为 - 不正确的 HitTest 层顺序

转载 作者:行者123 更新时间:2023-11-29 13:19:02 24 4
gpt4 key购买 nike

我遇到了 CCMenu 和 CCMenuItem 的一个奇怪的怪癖,它们可能是也可能不是 cocos2d 库的一部分,所以我不确定是否应该将其报告为错误。

当两个 CCMenu 项目重叠时,最后添加到菜单的项目会在另一个项目上方显示其图像/纹理。例如:

CCMenu *menu = [CCMenu menuWithItems:item1, item2, nil]; 
// item2 will appear to be on top of item 1

有趣的是,触摸发生重叠的 item2 会触发 item1 的选择器或 block 。为什么在测试触摸时,层级中视觉上较高的项目实际上较低?有解决办法吗?

最佳答案

我查看了 CCMenu 的代码,发现发生这种情况是因为在测试触摸时,CCMenu 遍历其子数组并返回它发现的第一个通过 HitTest 的数组。

第二个按钮出现在第一个按钮之上,就像每个 child 在 cocos2d 中工作一样。只要它们都具有相同的 z 顺序,最后添加的就会显示在顶部。

我不确定这是否是一个错误,但我确实在您可以尝试的 cocos2d 论坛上找到了建议的修复方法。 http://www.cocos2d-iphone.org/forum/topic/8554

关于ios - Cocos2d - 奇怪的 CCMenu 和 CCMenuItem 行为 - 不正确的 HitTest 层顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14846287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com