2014-09-22 5 views
1

Я работаю с cocos2d 3.x и Xcode 5.1.1.Я имею два изображения image1.png и image2.png. В моей игре Я уже изменяю изображение по умолчанию (заставка) на свое изображение (image1.png). Здесь мне нужно отображать image1.png в течение 2 секунд, а image2.png - отображать в течение следующих 3 секунд в качестве экрана заставки моей игры. . Заранее спасибо.Как установить два разных заставки в cocos2d v3.x в ios

+2

ничего себе, много upvotes для неясного вопроса! что такое «первое изображение» для «второго изображения» для «заставки экрана» для «изображения по умолчанию» .... связаны ли они каким-то образом ??? в каких обстоятельствах вам нужно, что отображать 2 секунды, и какие обстоятельства вам нужна другая текстура для отображения 3 секунды? – YvesLeBorg

ответ

2

Вот как я это делаю (чтобы угаснуть и выпустить логотип после того, как изображение по умолчанию было подано iOS. У меня есть класс SplashLogo (сцена). Это моя сцена запуска , он помещает логотип, исчезает, а затем заменяет собой сцену с игровым контроллером.

- (void)onEnter { 

    [super onEnter]; 

    self.positionType = CCPositionTypePoints; 
    // todo : test this background seed, GL side effects, timing, etc ...  
    // [self performSelectorInBackground:@selector(seedGameSequencer) withObject:nil]; 

    [self seedGameSequencer]; 
    CCColor  *color = [CCColor colorWithRed:0 green:0.f blue:0.f alpha:0.f]; 
    CCNodeColor *black = [CCNodeColor nodeWithColor:color]; 
    black.positionType = CCPositionTypePoints; 
    black.position = ccp(0, 0); 
    black.anchorPoint = ccp(0, 0); // bottom left 
    [self addChild:black]; 


    [GESprite mediumPixelFormat]; 
    CCSprite *logo = [CCSprite spriteWithImageNamed:@"maxPowerStudiosLogo.png"]; 
    logo.positionType = CCPositionTypePoints; 
    logo.anchorPoint = ccp(.5, .5); 
    logo.opacity   = 0; 
    logo.positionInPoints = ccp(black.contentSizeInPoints.width/2, black.contentSizeInPoints.height/2); 

    [GESprite defaultPixelFormat]; 

    id fadein   = [CCActionFadeIn actionWithDuration:3 * K_FADE_TIME]; 
    id taponne   = [CCActionDelay actionWithDuration:.95]; 
    id fadeout   = [CCActionFadeOut actionWithDuration:2 * K_FADE_TIME]; 
    id swapSceneAction = [CCActionCallFunc actionWithTarget:self selector:@selector(swapScene)]; 
    id seq    = [CCActionSequence actions:fadein, taponne, fadeout, swapSceneAction, nil]; 

    // add the label as a child to this Layer 

    [self addChild:logo]; 
    [logo runAction:seq]; 

} 

- (void)seedGameSequencer { 

    mainScene = [MPGameSequencer scene]; 
} 

- (void)swapScene { 

    [[CCDirector sharedDirector] replaceScene:mainScene]; 

} 

и AppDelegate:

- (CCScene *)startScene { 
    // This method should return the very first scene to be run when your app starts. 
    return [SplashLogo scene]; 
}