0

プレイヤーが勝利してゲートを通過すると、スコア パネルが表示されるようにしたいと考えています。通常はスコアボードが飛び出します。最良の方法は、レイヤーを使用してプルダウンすることだと思います。しかし、シーンのトランジションしか取得できません。レイヤートランジションの方法はありますか?

4

3 に答える 3

0

私は過去に似たようなことをしたことがあります。

  • レイヤーをオフスクリーンに表示します。つまり、setposition(0, CCDirector::sharedDirector()->getWinSize().height*1.5f);
  • 画面上で移動するアクションを作成します (私は CCEaseSineOut を使用するのが好きです)
  • アニメーションが終了したときに関数を呼び出すために callfunc を使用することもでき
    ます)), CCCallFunc::create(this, callfunc_selector(MainLayer::scorefinishedMove)), NULL));

注: その関数は、括弧などを終了するためにいくつかの修正が必要になる場合があります。また、初期化を runAction 関数に入れるのではなく、これらのアクションの一部を分離したい場合があります。

于 2013-10-03T16:59:46.263 に答える
0

レイヤー遷移の場合、これを行うことができます:

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

CCDirector::sharedDirector()->pushScene(newScene);

Layer2.cpp で

CCScene* Layer2::シーン()

{

CCScene* scene =  CCScene::create();

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

return scene;

}

于 2013-12-23T12:15:18.180 に答える