我希望当玩家获胜并通过大门时弹出一个得分面板。通常它会弹出记分板。我认为最好的方法是使用图层并将其拉下。但是我只得到场景的过渡,只是想知道有什么办法可以进行图层过渡吗?
问问题
1309 次
3 回答
0
对于图层转换,您可以这样做:
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;
}
于 2013-12-23T12:15:18.180 回答
0
没有看到等效的 CCTransitionScene :CCScene 用于 CCLayer 但图层可以运行操作,使用它我们可以带出大部分动画/过渡。
这是我在这种情况下所做的,但我猜你也在想同样的事情。尽管如此,
1.创建一个图层并将其作为子级添加到屏幕框架之外的位置。2.然后当你想把它拉下来时,使用CCMoveTo将它移动到所需的位置。
于 2013-09-23T16:00:51.873 回答
0
我过去做过类似的事情。
- 在屏幕外显示您的图层,即 setposition(0, CCDirector::sharedDirector()->getWinSize().height*1.5f);
- 创建一个将其移动到屏幕上的动作(我喜欢使用 CCEaseSineOut)
- 您还可以使用 callfunc 在完成动画
scoreLayer->runAction( CCSequence::create( CCEaseSineOut::create(CCMoveTo::create(1.0f, ccp(0, 0-_screenHeight*1.5f) )), CCCallFunc::create(this, callfunc_selector(MainLayer::scorefinishedMove)), NULL));
注意:该函数可能需要对结束括号等进行一些修复。并且您可能希望分离出其中一些操作,而不是将初始化权放在 runAction 函数中
于 2013-10-03T16:59:46.263 回答