Document

Cocos2d-x

tips

  • tip) implement popScene with Transition
    • http://www.cocos2d-x.org/boards/6/topics/14896
      CCDirector.h
         template<typename T>
         void popSceneWithTransition(float t) {
             CCAssert(m_pRunningScene != NULL, "running scene should not null");
             m_pobScenesStack-&gt;removeLastObject();
             unsigned int c = m_pobScenesStack-&gt;count();
             if (c == 0) {
                 end();
             }
             else {
                 m_bSendCleanupToScene = true;
                 m_pNextScene = (CCScene*)m_pobScenesStack-&gt;objectAtIndex(c - 1);
                 CCScene* trans = T::transitionWithDuration(t, m_pNextScene);
                 m_pobScenesStack-&gt;replaceObjectAtIndex(c-1, trans);
                 m_pNextScene = trans;
             }
         }

メモ

  • たぶんCCObjectとか継承した独自クラスをdeleteすると後で(release関数が呼ばれる時など)エラーになる(touch delegateとか絡む場合になった)
  • removeChild, removeFromParentAndCleanup?は内部で対象objectをreleaseしてる
  • runActionが実行されると対象objectはrelease(ref-1)される
  • CCUserDefault?は、setした後
    CCUserDefault::sharedUserDefault()->flush();
    しないと消える
  • CCLayerで、CCNotificationCenter?::addObserverした時は、onExitでremoveObserverする
    • CCLayerが消えてもObserverとして登録されているので、EXC_BAD_ACCESSの原因になる
    • onExitをoverrideしたら、最後に
      CCLayer::onExit();
      とするのを忘れずに

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-06-06 (木) 19:28:28 (1843d)