2010-08-24 144 views
0

我在iphone上的應用程序工作,我是新的cocos2d和目標c。 我有一些麻煩讓精靈動畫定位爲我想要的。我有一個背景精靈,並有第二個動畫精靈來覆蓋它。在這種情況下,背景是一個人,動畫精靈是眼睛閃爍。cocos2d ccsprite動畫

CGSize winSize = [[CCDirector sharedDirector] winSize]; 

     CCSprite * bg = [CCSprite spriteWithFile:@"victory.png"]; 
     [bg setPosition:ccp(240, 160)]; 
     [self addChild:bg z:0]; 

     kidSheetBlinking = [CCSpriteSheet spriteSheetWithFile:@"victory_eyes.png"]; 
     [self addChild:kidSheetBlinking z:0]; 

     // create the sprite 
     kidSpriteBlinking = [CCSprite spriteWithTexture:kidSheetBlinking.texture rect:CGRectMake(0, 0, 80, 38)]; 
     [kidSheetBlinking addChild:kidSpriteBlinking]; 

     kidSpriteBlinking.position = ccp(winSize.width/2+15,winSize.height/2+62); 

     // create the animation 
     kidBlinking1 = [CCAnimation animationWithName:@"blinking1" delay:0.1f]; 

     for (int x = 2; x > 0; x--) { 
      CCSpriteFrame *frame = [CCSpriteFrame frameWithTexture:kidSheetBlinking.texture rect:CGRectMake(x*80,0*38,80,38) offset:ccp(0,0)]; 
      [kidBlinking1 addFrame:frame]; 

     } 

     for (int x = 0; x < 3; x++) { 
      CCSpriteFrame *frame = [CCSpriteFrame frameWithTexture:kidSheetBlinking.texture rect:CGRectMake(x*80,0*38,80,38) offset:ccp(0,0)]; 
      [kidBlinking1 addFrame:frame]; 


     } 


     // create the action 
     kidBlinkingAction1 = [CCAnimate actionWithAnimation:kidBlinking1 ]; 
     id play = [CCCallFunc actionWithTarget:self selector:@selector(onKidAnimEnd)]; 

     // run the action 
     [kidSpriteBlinking runAction:[CCSequence actions:kidBlinkingAction1,play, nil]]; 

勝利的眼睛png是240x38所以有3幀是80x38似乎對我來說是正確的。但出於某種原因,我不能讓動畫與下面的圖像正確對齊。精靈動畫周圍似乎也有一條細線。我已經嘗試過多次移動精靈來排列它,所以它不能只是簡單的重新定位它。我必須錯過別的東西。任何想法都會很棒。這是我的第一個應用程序,所以假設我什麼都不知道任何人都可以想到的任何東西,我可能漏掉了 感謝 摹

回答

0

看看混合模式:

cocos2d FAQ

向下滾動到故障排除和檢查三個混合模式的例子 - 也許這將解決你的問題與精靈周圍的細線。

至於定位問題,如果看起來只有一個像素錯位,也許這是一個相關的問題。但如果它仍然存在,你可能想發佈一些截圖,因爲我不知道我確切理解你的意思......