gpt4 book ai didi

ios - 使用Cocos2d,检测Sprite是否被点击,我们需要做所有的计算?

转载 作者:行者123 更新时间:2023-11-29 04:40:58 25 4
gpt4 key购买 nike

例如,如果我们有 10 个矩形 Sprite ,我们使用随机宽度、高度、位置和 z 索引生成它们。现在是方法

-(void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

被调用。我们如何知道哪个 Sprite 被点击了?我知道一些技术会检查点击点是否在 Sprite 矩形的范围内,但在上述情况下,如果矩形 A 位于矩形 B 的左上角,并且当矩形 B 的左上角时,会怎样?被点击,它可能是被点击的矩形 A ——点击点实际上在两个矩形的内部。

我们是否必须手动执行此操作,甚至考虑 z-index...? (可能从最高 z 索引到最低循环遍历所有 Sprite )。

如果 Sprite 是一个三角形并且旋转怎么办? Cocos2d 中没有内置的方法可以处理这个问题吗?

(那是因为我几天前浏览了 Core Graphics 示例代码...似乎在这种情况下,将会有两个点击事件,一个用于主视图,一个用于 subview ,我们可以检查用户点击的是哪个 View ,而不进行任何计算)

最佳答案

一个可能的解决方案是 CCSprite 的子类,它声明自己是 CCStandardTouchDelegate 或 CCTargetedTouchDelegate 的委托(delegate)。然后在这些委托(delegate)方法中对 Sprite 执行适当的操作。

关于ios - 使用Cocos2d,检测Sprite是否被点击,我们需要做所有的计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10400371/

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