2012-06-22 25 views
0

我目前正在研究cocos2d中的一個有趣示例。我有一個精靈,就是一條線,只是在我的背景上移動(藉助CCAction)。但是這條線是4000像素寬。 iOS 4.x支持的像素不超過2048像素。所以我決定把這條線切成兩塊。所以,現在我有兩個圖像,1920 x 1920。現在我想要做和以前一樣的事情。這是非常簡單的代碼:在Cocos2D中連接CCSprites

CCSprite *abstractFigureLine = [CCSprite spriteWithFile:@"Abstract Figures Line.png"]; 
    abstractFigureLine.position = CGPointMake(960.0f, 160.0f); 
    [self addChild:abstractFigureLine z:1]; 
    CCAction *moveAbstractFigureLineAction = [CCMoveTo actionWithDuration:10.0f position:CGPointMake(-900.0f, 160.0f)]; 
    [abstractFigureLine runAction:moveAbstractFigureLineAction]; 

現在我需要插入另一精靈的形象,也很簡單,但有什麼辦法,以這兩精靈在連接到一個單一的精靈?

+0

爲什麼不直接用OpenGL畫線?即ccDrawLine? – LearnCocos2D

回答

1

創建你的精靈基本節點,添加你的精靈,以這個節點,這個節點上運行操作:

CCSprite *abstractFigureLine1 = [CCSprite spriteWithFile:@"Abstract Figures Line.png"]; 
abstractFigureLine.position = CGPointMake(0, 0); 

CGSize lineSize = [abstractFigureLine1 contensSize]; 
CCSprite *abstractFigureLine2 = [CCSprite spriteWithFile:@"Abstract Figures Line.png"]; 
abstractFigureLine.position = CGPointMake(lineSize.width, 0); 

CCNode *base = [[CCNode alloc] init]; 
[base setPosition: CGPointMake(960.0f, 160.0f)]; 

[base addChild:abstractFigureLine1 z:1]; 
[base addChild:abstractFigureLine2 z:1]; 

[self addChild:base z:1]; 

CCAction *moveAbstractFigureLineAction = [CCMoveTo actionWithDuration:10.0f position:CGPointMake(-900.0f, 160.0f)]; 
[base runAction:moveAbstractFigureLineAction]; 

注意,那CCSprite的位置 - 是它的中心,但CCNode的位置 - 是它的底部左轉送。

+0

您可以設置任何CCNode子類上的任何點來定位它。只需將它設置爲isRelatieveAnchorPoint屬性爲YES – Morion

+0

我沒有找到原因,但最新的cocos2d源文件沒有此類屬性。我只是從來沒有使用它。 – SentineL

+0

在1.1.0和2.0版本的cocos2d CCNode中都有屬性isRelativeAnchorPoint – Morion

0

創建一個有兩個精靈的類,並在第一個精靈的第一個精靈開始動作的結尾處發生第二個精神錯亂。

+0

此代碼已經在分隔類中。現在我會嘗試一下。 –