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;