0

我正在使用 CocosBuilder 创建一个简单的动画,它只是将 CCLayerColor 从右上角移动到左下角,并且由于某种原因动画不会执行。我将时间线设置为自动播放,持续时间超过 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 回答