我有20个精灵。在MutableArray中添加了所有20个精灵。当我触摸20.中的任何一个精灵时,我想要触摸精灵的标记值。
帮我编写代码。 在此先感谢。
答案 0 :(得分:0)
这应该相当简单。由于您没有提供任何代码,我会假装它看起来像这样。
for (CCSprite *aSprite in arrayOfSprites){
if ([self screenPosition:touchPosition intersectedWithSprite: aSprite]){
NSInteger tagForSprite = aSprite.tag; // do what you want with this value
}
}
touchPositionIntersectedWithSprite是一个检查实际碰撞并返回BOOL的方法......
答案 1 :(得分:0)
注册触摸。使用功能:
-(id) init{
if( (self=[super init])){
self.isTouchEnabled = YES;
/* to do */
}}
- (void) registerWithTouchDispatcher{
/* to do */}
- (BOOL) containsTouchLocation:(UITouch *)touch
{
return YES;
}
在功能
中捕获和分析精灵上的触摸- (BOOL) ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
//e.g. mArrSprites - your NSMutableArray with 20 sprites
for(CCSprite * sprite in mArrSprites){
if (CGRectContainsPoint(sprite.boundingBox, location)){ //check contains sprite rect your touch
int tag = sprite.tag; //GET tag of sprite
}
}
}