我正在使用 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 中,一个更好的问题可能是时间轴上的动作直接链接到执行动作的对象,还是以某种方式通过场景链接到该对象?