2013-04-05 52 views
0

刚刚开始一个cocos2d游戏。在那里检查碰撞,以及是否发生碰撞使用以下代码创建动画。动画代码被调用但不显示任何动画。什么是这个错误请帮我解决。如何为CCSprite应用动画

-(void)check_collision:(ccTime)dt 
{ 
    for(PolygonSprite *sprite in _cache) 
    { 
    if(CGRectIntersectsRect(sprite.boundingBox,monkey.boundingBox)) 
    { 
     if(sprite != monkey) 
     { 
     NSLog(@"collision collision collision.......%@",sprite); 
     id s2 = [CCScaleTo actionWithDuration:0.5 scaleX:1.5 scaleY:1.5]; 
     id fun = [CCCallFuncN actionWithTarget:self selector:@selector(spriteDone:)]; 
     [sprite runAction:[CCSequence actions:s2,fun,nil]]; 
     [self unschedule:@selector(check_collision:)]; 
    } 
    } 
} 

}

+0

具有u检查,这是获得执行的代码的每一行? – Dhruvik 2013-04-05 10:22:46

+0

是的。我把断点,并检查它。 – HaveToLearnMore 2013-04-05 10:23:43

回答

0

试试这个,

[self schedule:@selector(check_collision:)interval:1]; 

-(void) check_collision: (ccTime) t 
{ 
    for(PolygonSprite *sprite in _cache) 
    { 
     if(CGRectIntersectsRect(sprite.boundingBox,monkey.boundingBox)) 
     { 
      if(sprite != monkey) 
      { 
       id s2 = [CCScaleTo actionWithDuration:0.1 scaleX:2 scaleY:2]; 
       id fun = [CCCallFuncN actionWithTarget:self selector:@selector(spriteDone)]; 
       [car.sprite runAction:[CCSequence actions:s2,fun,nil]]; 
       [self unschedule:@selector(check_collision:)]; 
      } 
     } 
    } 
} 

-(void) spriteDone 
{ 
    // Function logic goes here.. 
} 

希望这有助于..谢谢你

+0

同样的事情在做,但不能正常工作:( – HaveToLearnMore 2013-04-05 10:32:09

+0

在我身边好友正常工作,尝试使用注释进行计划运行。 – Dhruvik 2013-04-05 10:34:22

+0

@HaveToLearnMore这与你正在做的不同。显示你的代码为spriteDone ... – YvesLeBorg 2013-04-05 11:44:22