안녕하세요 저는이 모든 것을 처음 접했고 약간의 도움이 필요합니다. 플레이어가 특정 레벨에 도달 할 때 볼 수있는 4 개의 메달이 있습니다. 내가 알아챈 문제는 20 점을 받아 첫 메달을 얻을 수 있지만, 메달 _02의 다음 점수에 도달하면 메달 _01을 보여줍니다. 저는 그것이 (점수> = 20) 있다면 (점수> = 20) medal_01을 보여달라고 말하기 때문에 그것이 다음 점수라면 아무것도 말하지 않을 수도 있습니다. 따라서 기술적으로 여전히 20보다 크므로 medal_01을 보여줄 것입니다. 특정 점수에 도달 한 메달을주는 나의 방법에있어 문제점은 무엇입니까?
는if(_score >= 2){
SKSpriteNode *medal = [SKSpriteNode spriteNodeWithImageNamed:@"medal_1"];
medal.position = CGPointMake(CGRectGetMaxX(self.frame)*1/4 + 23, CGRectGetMidY(self.frame) + 23);
[gameOver addChild:medal];
}else if(_score >= 4){
SKSpriteNode *medal = [SKSpriteNode spriteNodeWithImageNamed:@"medal_2"];
medal.position = CGPointMake(CGRectGetMaxX(self.frame)*1/4 + 23, CGRectGetMidY(self.frame) + 23);
[gameOver addChild:medal];
}else if(_score >= 30){
SKSpriteNode *medal = [SKSpriteNode spriteNodeWithImageNamed:@"medal_3"];
medal.position = CGPointMake(CGRectGetMaxX(self.frame)*1/4 + 23, CGRectGetMidY(self.frame) + 23);
[gameOver addChild:medal];
}else if(_score >= 50){
SKSpriteNode *medal = [SKSpriteNode spriteNodeWithImageNamed:@"medal_4"];
medal.position = CGPointMake(CGRectGetMaxX(self.frame)*1/4 + 23, CGRectGetMidY(self.frame) + 23);
[gameOver addChild:medal];
}
는'gameOver' 원래 방법 로컬 될 수 있습니다. 아마도 메달을 돌려주고 호출자가'addChild :'를 할 것입니다. –