我的 spritebuilder 项目遇到了一些问题,我找不到解决方法。我使用 flappyfly 教程来创建游戏。在本教程中,spritebuilder 中有一个 Obstacle.ccb,xcode 中有一个障碍.h/m。使用此代码将障碍物生成到主场景中
- (void)spawnNewObstacle {
CCNode *previousObstacle = [_obstacles lastObject];
CGFloat previousObstacleXPosition = previousObstacle.position.x;
if (!previousObstacle) {
// this is the first obstacle
previousObstacleXPosition = firstObstaclePosition;
}
Obstacle *obstacle = (Obstacle *)[CCBReader load:@"Obstacle"];
obstacle.position = ccp(previousObstacleXPosition + distanceBetweenObstacles, 0);
[obstacle setupRandomPosition];
obstacle.zOrder = DrawingOrderPipes;
[_physicsNode addChild:obstacle];
[_obstacles addObject:obstacle];
}
我想要完成的是让这些障碍仍然随机产生。我不希望我的英雄与障碍物发生碰撞,而是我希望障碍物充当物理体,所以你可以跳上它,问题是当我禁用英雄和障碍物碰撞时,主场景仍然导入障碍物.m但是没有应用物理,即使在障碍.ccb 中启用了物理,并且英雄能够通过障碍。我可以使它成为实际物理体的唯一方法是将障碍物.ccb 添加到物理节点下的 mainscene.ccb 中。这可行,但当然障碍物不会随机产生。任何解决方法?