Ios Can';t将节点添加到我的场景(精灵工具包)
我正在使用spritekit创建一个游戏 用户控制一个在屏幕上上下击打一个球的球拍,每次球碰到球拍时,计分计数器递增一。我想做的是,当用户的分数等于5时,在游戏中添加第二个球,但无论出于何种原因,当我尝试将第二个球添加到场景中时,它不会被添加Ios Can';t将节点添加到我的场景(精灵工具包),ios,objective-c,sprite-kit,Ios,Objective C,Sprite Kit,我正在使用spritekit创建一个游戏 用户控制一个在屏幕上上下击打一个球的球拍,每次球碰到球拍时,计分计数器递增一。我想做的是,当用户的分数等于5时,在游戏中添加第二个球,但无论出于何种原因,当我尝试将第二个球添加到场景中时,它不会被添加 -(void)didBeginContact:(SKPhysicsContact *)contact { SKPhysicsBody *firstBody, *secondBody if (contact.bodyA.categoryBitMask
-(void)didBeginContact:(SKPhysicsContact *)contact
{
SKPhysicsBody *firstBody, *secondBody
if (contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask) {
firstBody = contact.bodyA;
secondBody = contact.bodyB;
}
else {
firstBody = contact.bodyB;
secondBody = contact.bodyA;
}
// if a body in the scene makes contact with the paddle
// shoot the ball back up
if ((firstBody.categoryBitMask & ballCategory) != 0 && (secondBody.categoryBitMask & paddleCategory) != 0) {
// move ball up
[firstBody applyImpulse:CGVectorMake(arc4random() % 60 + 20, arc4random() % 80 + 50)];
// increment score
self.score++;
// update score
self.deathLabel.text = [NSString stringWithFormat:@"%i", self.score];
// if the game score is 5, add another ball to the scene
if (self.score == 5) {
NSLog(@"test");
[self addChild:ball2];
}
}
}
-(void)didBeginContact:(skphysiccontact*)联系人
{
SKPhysicsBody*第一个Body,*第二个Body
if(contact.bodyA.categoryBitMask
“ball2”在尝试将其添加到场景之前已预先初始化。当运行游戏并获得5分时,会调用
NSLog
消息,但场景不会添加另一个球。为什么呢?我完全错过了什么吗?感谢您的帮助。例如,尝试使用action perform selector调用
-(void)secondBall
{
SKSpriteNode *secondBall = [SKSpriteNode spriteNodeWithImageNamed:@"secondBall"];
secondBall.position = yourPosition;
[self addChild:secondBall];
}
//Your contact
if (self.score == 5) {
[self runAction:[SKAction performSelector:@selector(secondBall) onTarget:self]];
}