spritebuilder プロジェクトで問題が発生しましたが、回避策が見つかりません。私は、flappyfly チュートリアルを使用してゲームを作成しています。チュートリアルでは、spritebuilder に Obstacle.ccb があり、xcode にobstacle.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 で物理がオンになっていても、物理は適用されておらず、ヒーローは障害物を通り抜けることができます。これを実際の物理体にする唯一の方法は、物理ノードの下の mainscene.ccb に障害物.ccb を追加することです。これは機能しますが、もちろん障害物はランダムに出現しません。回避策はありますか?