基本上我试图让用户点击一个油箱时,旧坦克消失,并在随机位置产生一个新坦克。现在它正在检测碰撞,但我无法摆脱这个孩子。它只会添加一个新的油箱,而不会摆脱旧的油箱。删除孩子SKSpriteNode
我能做些什么来移除旧的孩子并产生一个新的孩子? removefromparent和removeallchildren不工作(的NSLog显示“移动” S我肯定要实现这个声明检测到碰撞后)
- (void) fuelGenerate {
//make a fuel tank
for (int j=1; j<2; j++) {
SKSpriteNode *fuel = [SKSpriteNode spriteNodeWithImageNamed:@"fuel.png"];
fuel.position = CGPointMake(arc4random_uniform(self.frame.size.width), arc4random_uniform(self.frame.size.height));
[fuel setScale:0.6];
fuel.zPosition = 1;
fuel.shadowCastBitMask = 1;
fuel.name = @"fuelNode";
fuel.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:fuel.frame.size];
fuel.physicsBody.dynamic = FALSE;
fuel.physicsBody.affectedByGravity = false;
fuel.physicsBody.usesPreciseCollisionDetection = YES;
fuel.physicsBody.categoryBitMask = fuelCategory;
fuel.physicsBody.collisionBitMask = fuelCategory | fireCategory;
fuel.physicsBody.contactTestBitMask = fireCategory;
if (FuelGen == 1) {
[self addChild:fuel];
} else if (FuelGen == 0) {
NSLog(@"Move");
[fuel removeFromParent];
[self addChild:fuel];
FuelGen == 1
}
}
}
您的代码存在一些逻辑问题,但在开始之前,什么是FuelGen? – sangony
只是一个系统来确定是否应该生成一个燃料罐等等。它工作正常。我只是在删除旧的孩子方面遇到了问题。 –