2011-04-07 72 views
0

嘿人, 我創建在cocos2d遊戲,(我很新的它,並試圖解決這件事)iPhone dev>從cocos2d中的其他對象獲取CCSprite位置?

在比賽中我做我創建了一個「炸彈」級和「玩家」級, 我想讓炸彈檢查與玩家的碰撞,如果發現碰撞,爆炸。

我的問題是,我不知道如何從炸彈班獲得玩家的位置, 如果你們可以幫我在這裏,我會很高興, 謝謝!

回答

0

您確實已將CCSprites添加到CCLayer,是不是?然後該CCLayer應該有權訪問他們兩個。因此,您可以使用CCLayer的tick函數來跟蹤CCSprites的位置,並在邊界框重疊時觸發動作。

一些示例代碼來說明:

@interface MyLayer : CCLayer { 
    BombSprite *bomb; 
    PlayerSprite *player; 
} 

... 

@end 

@implementation MyLayer 

- (id)init { 
    if ((self = [super init])) { 
     bomb = ... 
     player = ... 

     [self schedule:@selector(tick:)]; 
    } 
    return self; 
} 

- (id)tick:(ccTime)dt { 
    if (CGRectContainsRect([bomb boundingBox], [player boundingBox])) { 
     NSLog(@"Collision!"); 

     // call [player didCollideWith:bomb] or something 
     ... 
    } 
} 

@end