2013-08-03 21 views
-2

使用iPad 2模擬器,創建精靈表後,其大小爲±8000像素,我得到警告is bigger than the supported 4096 x 4096大於4096 x 4096的紋理?

該動畫由大小爲一半的iPad屏幕的圖像組成,每個動畫有10幀。

那麼,我如何創建一個精靈表來運行動畫?我需要2個精靈表嗎?如果是的話,是否有辦法按順序運行它們?

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:plist]; 
    hotGirl= [CCSprite spriteWithSpriteFrameName:pngFirst]; 
    hotGirl.position=ccp(winSize.width/2,winSize.height/1.335); 
    [self addChild:hotGirl]; 

    NSMutableArray *animFrames = [NSMutableArray array]; 
    for(int i = 1; i < num+1; i++) 
    { 
     CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"%@%i.png",file,i]]; 
     [animFrames addObject:frame]; 
    } 
    CCAnimation* Animation = [CCAnimation animationWithSpriteFrames:animFrames delay:0.1f]; 
    CCAnimate * pAction = [CCAnimate actionWithAnimation:Animation]; 
    id call=[CCCallFunc actionWithTarget:self selector:@selector(done:)]; 
    id seq=[CCSequence actions:pAction,call, nil]; 
    [hotGirl runAction:seq]; 

謝謝。

+2

您需要將圖冊分爲兩部分,每部不大於4096x4096 – LearnCocos2D

+0

您確定需要全屏精靈嗎?這是相當激烈的,你只有這麼多的紋理記憶。你可能想確保你正在打破你的動畫邏輯部分。 – madmik3

回答

0

它的openGLES紋理內存限制。

int maxTexSize; 
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTexSize); 
printf("Max = %d\n",maxTexSize); 

您無法加載大於GL_MAX_TEXTURE_SIZE的圖像。這取決於設備。

相關問題