检测儿童精灵的触摸

时间:2012-11-09 10:12:52

标签: cocos2d-iphone

我在小时候给精灵A添加了精灵B ..

[spriteA addChild:spriteB];

我的游戏逻辑基于是否触摸了spriteB。 但是我无法让spriteB检测到触摸。

我已将touchLocation转换为nodeSpace .. 而且我可以通过spriteA来检测触摸没有问题。

我使用的if条件是

if (CGRectContainsPoint(spriteB.boundingBox, touchLocation))

如果有人能指出我的方向,那就太好了。

如果重要的话,

spriteA会被添加到spriteBatchNode中。

提前致谢!

更新

我认为孩子实际上正在检测触摸。 它不工作的原因是因为我设置了脏标签。

总之,这就是我的游戏如何运作。 目标从一些皮革中突然出现..玩家触及目标以获得积分。

我有一些数组可以在不同的位置保存目标。 我为每个目标设置了脏标签。
target.dirty =弹出时为TRUE target.dirty =隐藏

时为FALSE

这相当于   如果它弹出,那么它是可点击的。   如果它隐藏在隐藏之后,则它不可点击。

就在我进入if条件之前

if (CGRectContainsPoint(curTarget.boundingBox, touchLocation))

我有这个

if(curTarget.dirty == FALSE) continue;

我的问题是,当我有上述条件检查..我检测到没有触摸.. 但如果我采取上述条件,我可以检测所有接触.. 但问题会变成相反的......即使它不可见,我也可以点击我的目标..

如果我将目标精灵添加为图层的子项,则上述逻辑有效...

帮助!

0 个答案:

没有答案