0

我的 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 中。这可行,但当然障碍物不会随机产生。任何解决方法?

4

1 回答 1

0

如果你想让它们继续生成并且让你的英雄能够在不结束游戏的情况下跳到它们身上,我建议为它们设置一个碰撞组

于 2014-08-26T19:56:12.857 回答