我有 20 个精灵。所有 20 个精灵都添加到 MutableArray 中。当我触摸 20 个精灵中的任何一个时。我想要触摸精灵的标记值。
帮我写代码。提前致谢。
我有 20 个精灵。所有 20 个精灵都添加到 MutableArray 中。当我触摸 20 个精灵中的任何一个时。我想要触摸精灵的标记值。
帮我写代码。提前致谢。
那应该相当简单。由于您没有提供任何代码,我会假装它看起来像这样。
for (CCSprite *aSprite in arrayOfSprites){
if ([self screenPosition:touchPosition intersectedWithSprite: aSprite]){
NSInteger tagForSprite = aSprite.tag; // do what you want with this value
}
}
touchPositionIntersectedWithSprite 是一种检查实际碰撞并返回 BOOL 的方法...
注册触摸。使用功能:
-(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
}
}
}