Cocos2d x cocos2dx/coco2d层转变

Cocos2d x cocos2dx/coco2d层转变,cocos2d-x,Cocos2d X,我希望当球员获胜并通过大门时,能弹出一个记分板。 通常它会弹出记分板。 我认为最好的方法是使用图层并将其拉下。 但是我只看到了场景的过渡,只是想知道有没有办法进行层过渡?没有看到CCTransitionScene的等价物:CCScene for CCLayer,但是层可以运行动作,我们可以使用它来显示大多数动画/过渡 以下是我在这种情况下的做法,但我想你也在想同样的事情。然而, 1.创建一个层,并将其作为子层添加到屏幕框架之外的位置。 2.然后使用CCMoveTo将其移动到所需位置,当您想要将其

我希望当球员获胜并通过大门时,能弹出一个记分板。 通常它会弹出记分板。 我认为最好的方法是使用图层并将其拉下。
但是我只看到了场景的过渡,只是想知道有没有办法进行层过渡?

没有看到CCTransitionScene的等价物:CCScene for CCLayer,但是层可以运行动作,我们可以使用它来显示大多数动画/过渡

以下是我在这种情况下的做法,但我想你也在想同样的事情。然而,

1.创建一个层,并将其作为子层添加到屏幕框架之外的位置。
2.然后使用CCMoveTo将其移动到所需位置,当您想要将其向下拉时。

我过去也做过类似的操作

  • 在屏幕外显示图层 i、 e设置位置(0,CCDirector::sharedDirector()->getWinSize()。高度*1.5f)
  • 创建一个动作在屏幕上移动它(我喜欢使用CCEaseSineOut)
  • 您还可以使用callfunc在函数完成动画后调用函数
    scoreLayer->runAction(CCSequence::create(CCEaseSineOut::create(CCMoveTo::create(1.0f,ccp(0,0-_屏幕高度*1.5f))),CCCallFunc::create(此,callfunc_选择器(MainLayer::scorefinishedMove)),NULL))

注意:该函数可能需要对结束括号等进行一些修复。您可能希望分离出其中一些操作,而不是将初始化放在运行操作函数中。对于层转换,您可以执行以下操作:

   CCScene* newScene =  CCTransitionCrossFade::create(.5f,Layer2::scene());

CCDirector::sharedDirector()->pushScene(newScene);
在Layer2.cpp中

CCScene*Layer2::scene()

{

}

CCScene* scene =  CCScene::create();

CCLayer* layer = new Layer2();
scene->addChild(layer,1);

return scene;