원하는 작업을 수행하는 데는 몇 가지 방법이 있습니다. 게임에 적합한 코드를 만들 수 있도록 몇 가지 팁과 힌트를 제공 할 것입니다.
먼저 MyScene은 SpriteKit 프로젝트 템플릿의 View Controller에서 기본적으로 호출되는 SKScene이라는 점을 기억하십시오. 따라서 레벨을 원하는만큼 많은 SKScene 수업을 만들 수 있습니다. 각 SKScene 클래스는 하나의 레벨이 될 수 있습니다.
첫 번째 SKScene MyScene을 기본 메뉴로 전환하고 여기에서 선택할 수있는 사용자 목록을 추가 할 수 있습니다. 메인 메뉴 (MyScene)에서 선택한 수준에 도달하기 위해이 같은 것을 사용할 수 있습니다
SKScene *gameLevel1 = [[Level1 alloc] initWithSize:self.size];
SKTransition *reveal = [SKTransition doorsOpenVerticalWithDuration:1.0];
[self.view presentScene:gameLevel1 transition:reveal];
레벨 1은 첫 번째 수준에 대한 SKScene 클래스의 이름이됩니다. 선택할 수있는 많은 전환점이 있습니다. 또한 필요에 따라 scaleMode 속성을 포함 할 수 있습니다.
LearnCocos2D가 이미 지적했듯이 배열이나 사전을 사용하여 항목, 상태 및 달성 된 레벨과 같은 플레이어의 데이터를 저장할 수 있습니다. 많은 양의 데이터를 저장해야하는 경우가 아니면 NSUserDefaults가 가장 좋습니다. 여기에 NSUserDefaults에 데이터를 저장하는 방법에 대한 예는 다음과 같습니다
NSString *highLevel = [[NSUserDefaults standardUserDefaults] stringForKey:@"levelReached"];
당신은 어떤 시간에 NSUserDefaults에 새로운 데이터를 기록 할 수 있습니다 :
NSString *valueToSave = @"Level 5";
[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey:@"levelReached"]
[[NSUserDefaults standardUserDefaults]synchronize];
당신이 할 수 NSUserDefaults에 저장된 값을 읽을 수 있습니다. 따라서 플레이어가 방금 레벨을 끝내면 NSUserDefaults에 레벨을 기록하십시오.
완전히 뒤죽박죽입니까? 가능한 해결책을 시도해 보셨습니까? – sangony
@sangony가 완전히 엉망진창이었습니다. 나는 그걸로 놀아 보려고했지만 아무 것도 작동하지 않는 것처럼 보입니다. 다르게 접근해야합니까? BOOL을 사용하는 것은 잘못된 것입니까? – user3576196
시도한 것을 보여주고 예상대로 작동하지 않는 이유를 설명하면 더 나은 답변을 얻을 수 있습니다. –