2012-04-04 162 views
1

我想合併三個精靈並將其顯示爲一個精靈。 我創建了一個空的精靈並添加了部件,但無法正常工作。cocos2d如何組合精靈

CCNode *stars = [CCNode node]; 

    CCSprite *star1 = [CCSprite spriteWithSpriteFrameName:@"star.png"]; 
    star1.position = ccp(-10, 0); 
    [stars addChild:star1]; 

    CCSprite *star2 = [CCSprite spriteWithSpriteFrameName:@"star.png"]; 
    star2.position = ccp(0, 0); 
    [stars addChild:star2]; 

    CCSprite *star3 = [CCSprite spriteWithSpriteFrameName:@"star.png"]; 
    star3.position = ccp(10, 0); 
    [stars addChild:star3]; 

    [self addChild:stars]; 

,我得到了下面的異常

應用萌發過程中由於未捕獲的異常 'NSInternalInconsistencyException',理由是: '無效spriteFrameName:star.png'

請幫我找出。

+0

什麼是精靈? – tams 2012-04-04 07:32:04

+0

對不起。這是一個錯誤。 – Hassy31 2012-04-04 07:42:38

回答

1

您將單一精靈這樣的:

CCSprite *star1 = [CCSprite **spriteWithFile**:@"star.png"]; 
star1.position = ccp(-10, 0); 
[self addChild:star1]; 

這聽起來像你對我嘗試使用精靈幀,但你有沒有裝任何精靈表正常,或者你的意思是使用spriteWithFile

CCNode *stars = [CCNode node]; 

CCSprite *star1 = [CCSprite spriteWithFile:@"star.png"]; 
star1.position = ccp(-10, 0); 
[stars addChild:star1]; 

CCSprite *star2 = [CCSprite spriteWithFile:@"star.png"]; 
star2.position = ccp(0, 0); 
[stars addChild:star2]; 

CCSprite *star3 = [CCSprite spriteWithFile:@"star.png"]; 
star3.position = ccp(10, 0); 
[stars addChild:star3]; 

[self addChild:stars]; 
+0

完美。非常感謝你! – Hassy31 2012-04-04 08:19:56

0

這聽起來像是有問題的.png文件。確保您已將其添加到項目的資源中。

+0

感謝您的答覆。我已將star.png文件添加到Resources中,並且可以將其顯示爲普通Sprite。 – Hassy31 2012-04-04 07:41:18