Animotion为什么不能Flip

求解!!!!!!!!!!!!!
================================ 以下代码不能实现Animotion的翻转 ================================ CCArray* framesList = new CCArray();
CCSpriteFrame* frame1 = CCSpriteFrame::create(“player1.png”, CCRectMake(0, 0, 77, 134)); CCSpriteFrame* frame2 = CCSpriteFrame::create(“player2.png”, CCRectMake(0, 0, 66, 129)); CCSpriteFrame* frame3 = CCSpriteFrame::create(“player3.png”, CCRectMake(0, 0, 99, 132)); CCSpriteFrame* frame4 = CCSpriteFrame::create(“player4.png”, CCRectMake(0, 0, 111, 135)); CCSpriteFrame* frame5 = CCSpriteFrame::create(“player5.png”, CCRectMake(0, 0, 94, 132)); CCSpriteFrame* frame6 = CCSpriteFrame::create(“player6.png”, CCRectMake(0, 0, 64, 128)); CCSpriteFrame* frame7 = CCSpriteFrame::create(“player7.png”, CCRectMake(0, 0, 96, 133)); CCSpriteFrame* frame8 = CCSpriteFrame::create(“player8.png”, CCRectMake(0, 0, 103, 138)); framesList->addObject(frame1); framesList->addObject(frame2); framesList->addObject(frame3); framesList->addObject(frame4); framesList->addObject(frame5); framesList->addObject(frame6); framesList->addObject(frame7); framesList->addObject(frame8);
CCSprite* mSprite = CCSprite::createWithSpriteFrame(frame1); CCAnimation* animation = CCAnimation::createWithSpriteFrames(framesList, 0.2f); CCAnimate* animate = CCAnimate::create(animation); CCActionInterval* seq = (CCActionInterval*)(CCSequence::create(CCFlipX::create(false), animate->copy()->autorelease(), CCFlipX::create(true), NULL));
mSprite->runAction(CCRepeatForever::create(seq)); CCSize s = CCDirector::sharedDirector()->getWinSize(); mSprite->setPosition( ccp( s.width/2-80, s.height/2) );
addChild(mSprite)

=================================== 为什么以下代码可以 ==============================
void HelloWorld::testAnimotionFlip(){ CCSize s = CCDirector::sharedDirector()->getWinSize(); CCTexture2D* texture = CCTextureCache::sharedTextureCache()->addImage(“dragon_animation.png”); CCSpriteFrame frame0 = CCSpriteFrame::createWithTexture(texture, CCRectMake(1320, 1320, 132, 132)); CCSpriteFrame frame1 = CCSpriteFrame::createWithTexture(texture, CCRectMake(1321, 1320, 132, 132)); CCSpriteFrame frame2 = CCSpriteFrame::createWithTexture(texture, CCRectMake(1322, 1320, 132, 132)); CCSpriteFrame frame3 = CCSpriteFrame::createWithTexture(texture, CCRectMake(1323, 1320, 132, 132)); CCSpriteFrame frame4 = CCSpriteFrame::createWithTexture(texture, CCRectMake(1320, 1321, 132, 132)); CCSpriteFrame frame5 = CCSpriteFrame::createWithTexture(texture, CCRectMake(1321, 1321, 132, 132));
CCArray* animFrames =new CCArray(); CCSprite* sprite = CCSprite::createWithSpriteFrame(frame0); sprite->setPosition( ccp( s.width/2-80, s.height/2) ); addChild(sprite); animFrames->addObject(frame0); animFrames->addObject(frame1); animFrames->addObject(frame2); animFrames->addObject(frame3); animFrames->addObject(frame4); animFrames->addObject(frame5); CCAnimation animation = CCAnimation::createWithSpriteFrames(animFrames, 0.2f); CCAnimate animate = CCAnimate::create(animation); CCActionInterval seq = (CCActionInterval)(CCSequence::create( animate, CCFlipX::create(true), animate->copy()->autorelease(), CCFlipX::create(false), NULL) ); sprite->runAction(CCRepeatForever::create( seq ) ); }

  • 本帖最后由 guanguan 于 2013-1-25 11:34 编辑 *

第二段的格式太乱

 CCSize s = CCDirector::sharedDirector()->getWinSize();
    CCTexture2D* texture = CCTextureCache::sharedTextureCache()->addImage("dragon_animation.png");
    
    CCSpriteFrame *frame0 = CCSpriteFrame::createWithTexture(texture, CCRectMake(132*0, 132*0, 132, 132));
    CCSpriteFrame *frame1 = CCSpriteFrame::createWithTexture(texture, CCRectMake(132*1, 132*0, 132, 132));
    CCSpriteFrame *frame2 = CCSpriteFrame::createWithTexture(texture, CCRectMake(132*2, 132*0, 132, 132));
    CCSpriteFrame *frame3 = CCSpriteFrame::createWithTexture(texture, CCRectMake(132*3, 132*0, 132, 132));
    CCSpriteFrame *frame4 = CCSpriteFrame::createWithTexture(texture, CCRectMake(132*0, 132*1, 132, 132));
    CCSpriteFrame *frame5 = CCSpriteFrame::createWithTexture(texture, CCRectMake(132*1, 132*1, 132, 132));
    


    CCArray* animFrames =new CCArray();
    CCSprite* sprite = CCSprite::createWithSpriteFrame(frame0);
    sprite->setPosition( ccp( s.width/2-80, s.height/2) );
    addChild(sprite);
    
    animFrames->addObject(frame0);
    animFrames->addObject(frame1);
    animFrames->addObject(frame2);
    animFrames->addObject(frame3);
    animFrames->addObject(frame4);
    animFrames->addObject(frame5);
    
    CCAnimation *animation = CCAnimation::createWithSpriteFrames(animFrames, 0.2f);
    CCAnimate *animate = CCAnimate::create(animation);
    CCActionInterval* seq = (CCActionInterval*)(CCSequence::create( animate,
                                                                   CCFlipX::create(true),
                                                                   animate->copy()->autorelease(),
                                                                   CCFlipX::create(false),
                                                                   NULL) );
    
    sprite->runAction(CCRepeatForever::create( seq ) );

在第一段代码里少写了一个动作 {:soso_e106:}