Cocos2d Custom Scene Transition - Открытие обложки книги - PullRequest
0 голосов
/ 01 февраля 2011

Я пытаюсь создать пользовательский переход сцены в Cocos2D для iOS, который будет имитировать открытие обложки книги.

Выходящая сцена должна открываться влево (шарнирная на левом краю экрана) и отображать входящую сцену, как если бы она находилась там, где первая страница книги просто открывалась уходящей сценой .

Есть идеи, как это сделать?

Мне удалось создать подкласс из CCTransitionSceneOriented, который выполняет простой переход с обложки книги, к сожалению, он не выглядит профессионально, поскольку входящая сцена не отображается постепенно при открытии обложки: - (

@implementation TransitionBookCover

-(void) onEnter
{
    [super onEnter];
    [inScene_ setVisible:NO];

    id  outCameraAct = [CCOrbitCamera actionWithDuration:duration_/2 radius:1 deltaRadius:0 angleZ:180 deltaAngleZ:65 angleX:0 deltaAngleX:0];
    id outHideAct   = [CCHide action];
    id outDelayAct  = [CCDelayTime actionWithDuration:duration_/2];
    id outGroupAct1 = [CCSequence actions:outCameraAct, outHideAct, outDelayAct, nil];
    id outMoveAct   = [CCMoveTo actionWithDuration:duration_/4 position:ccp(-384.0,0.0)];
    id outGroupAct2 = [CCSpawn actions:outMoveAct, outGroupAct1, nil];

    id inDelayAct = [CCDelayTime actionWithDuration:duration_/2];
    id inShowAct  = [CCShow action];
    id inFuncAct  = [CCCallFunc actionWithTarget:self selector:@selector(finish)];
    id inGroupAct = [CCSequence actions:inDelayAct, inShowAct, inFuncAct, nil];

    [outScene_ runAction:outGroupAct2];
    [inScene_ runAction:inGroupAct];    
}

@end.

1 Ответ

0 голосов
/ 01 февраля 2011

Возможно, вам не придется делать это со сценами.Вы можете сделать это дешево двумя способами:

  1. предварительно визуализировать открытие обложки книги и запустить ее как анимацию
  2. сделать обложку спрайтом на «первой странице», а затем простосжимать координату х, пока она не исчезнет.Я не уверен, как получить «трапециевидный» эффект в Cocos2D.

CCTransitionFlipX больше для переворачивания карты, чем 1-я страница книги.

...