0

CCLayerColor を右上から左下に移動するだけの CocosBuilder で単純なアニメーションを作成していますが、何らかの理由でアニメーションが実行されません。タイムラインを自動再生に設定し、2 秒以上再生します。すべてのレイヤーを分割し、それらのレイヤーを CCScrollLayer に追加するクラスがあります。シーンからレイヤーを削除してから CCScrollLayer に追加すると、アニメーションが削除され、実行されないことが問題なのかどうか疑問に思っています。

CCScene* scene = [CCBReader sceneWithNodeGraphFromFile:@"Untitled.ccbi"];

self.scrollLayer = [[CCScrollLayer alloc] init];
  CCLayer* child = [[scene children] objectAtIndex:0];
  for (CCNode* layer in [child children]) {

    [layer removeFromParent];
    [self.scrollLayer addChild:layer];
    [layer resumeSchedulerAndActions];
  }

  [self.scrollLayer updatePages];
  self.scrollLayer.delegate = self;
  [self addChild:self.scrollLayer];

CCLayerColor オブジェクトが画面に追加されているのがわかりますが、アニメーション化されていません。

状況に対処するために CCScrollLayer にカスタム コードを追加しましたが、アニメーションが実行されない理由について混乱しています。どんな助けでも素晴らしいでしょう!

編集: CocosBuilder では、タイムライン上のアクションが、アクションを実行するオブジェクトに直接リンクされているか、シーンを介してそのオブジェクトに何らかの形でリンクされているのでしょうか?

4

1 に答える 1

0

おそらく、scrollLayer を子として追加するのを忘れていませんか?

[self addChild:self.scrollLayer];

サンプル コードではnode、ccbi から作成された も参照されていません。実は使っていないのではないでしょうか?

于 2013-11-05T10:31:17.157 に答える