странная вещь. если кто-то может, пожалуйста, помогите мне. 3 дня, и я думаю, что меня уволят: (
У меня есть класс cocos2d с функцией анимации и другой класс xcode.
если я вызываю функцию инициализации класса cocos2d для функции анимации, анимация воспроизводится при запуске приложения.
если я вызываю другой класс к классу-анимации cocos2d, значит, он выполняет функцию init и вводит анимацию, но я не вижу, как она воспроизводится.
так что анимация работает только если вызывается только из класса cocos.
ПОЧЕМУ?
вот как я называю анимацию:
ran=[[HelloWorld alloc] init];
[ran animation];
это анимация:
-(void)animation
{
//[self removeChild:background cleanup:YES];
//[b_pic.parent removeChild:b_pic cleanup:YES];
//animation
CCSpriteBatchNode *danceSheet = [ CCSpriteBatchNode batchNodeWithFile:@"head.png"];
[self addChild:danceSheet];
CCSprite *danceSprite = [CCSprite spriteWithTexture:danceSheet.texture rect:CGRectMake(0, 0, 480, 320)];
[danceSheet addChild:danceSprite];
//danceSprite.anchorPoint=CGPointMake(0, 0);
CGSize s = [[CCDirector sharedDirector] winSize];
danceSprite.position = ccp(s.width/2,s.height/2);
CCAnimation *danceAnimation = [CCAnimation animation];
[danceAnimation setDelay:0.1f];
int frameCount = 0;
for (int y = 0; y < 4; y++)
{
NSLog(@"%@",animation);
for (int x = 0; x < 5; x++)
{
CCSpriteFrame *frame = [CCSpriteFrame frameWithTexture:danceSheet.texture rect:CGRectMake(x*320,y*440,320,440)];
[danceAnimation addFrame:frame];
frameCount++;
if (frameCount == 25)
break;
}
}