0
두 스프라이트 간의 충돌을 감지하고 충돌시 장면에 스프라이트를 추가하려고합니다. 다음 메소드는 충돌이 감지 될 때 호출됩니다.SpriteKit 충돌 감지에 스프라이트 추가하기
-(void) contactBetweenGreenBallAndRedBall:(SKPhysicsContact *) contact
{
if([self isLevelCompleted])
{
[self addRedBallsToScene:10];
}
}
// add red balls to the scene
-(void) addRedBallsToScene:(int) numberOfRedBalls
{
for(int i = 1; i <= numberOfRedBalls; i++)
{
int x = arc4random() % (int) self.size.width;
int y = arc4random() % (int) self.size.height;
RedBall *redBall = [[RedBall alloc] init];
redBall.name = @"redball";
redBall.position = CGPointMake(x, y);
[self addChild:redBall];
[_redBalls addObject:redBall];
[redBall.physicsBody applyImpulse:CGVectorMake(5.0, -10.0f)];
}
}
장면에 redBall을 추가하더라도 결코 보지 못합니다. 이 장면은 새롭게 추가 된 빨간 공을 절대 보여주지 않습니다.
업데이트 : 스프라이트가 추가되고있는 것을 보았습니다. 그러나 어떤 이유인지 그들은 0,0에 추가되었습니다. 이유가 무엇입니까?
이 코드 조각에서는 self.size가 0,0이면 0,0 일 수 있습니다. 중단 점을 설정하고 확인하십시오. – LearnCocos2D