저는 지금 iOS 용 게임처럼 끝없는 러너를 만들고 있습니다. 지금은지도 제작에 있습니다.타일 맵 생성 (열 제거 및 추가) 언제?
지도가 고정 속도로 움직일 때 작동합니다. 끝이 없으며 무작위입니다. 타일을 유지하기 위해 배열을 사용하고 있는데 화면 밖으로 벗어난 경우 배열의 첫 번째 객체를 제거한 다음 그 끝에 새로운 열을 생성합니다.
내 문제는 내가지도의 속도를 높이고 싶을 때,지도 생성 속도가 느려지 며 잠시 후지도 자체가 느려지므로 그 이유를 알 수 없습니다.
필자는 (40,0)에서 시작하는 헬퍼 SKSpriteNode를 만들었으며 맵 위치와 동시에 위치를 변경하려고합니다. 0보다 작거나 같으면 열을 제거하고 다른 것을 생성합니다 .
시작 mapNode.mapSpeed는 2.0f이며 시간이 지남에 따라 다양한 값으로 늘리고 싶습니다. 자주 "노드를 제거/작성"전화
는self.helperNode.position = CGPointMake(self.helperNode.position.x+self.mapNode.mapSpeed, self.helperNode.position.y);
self.mapNode.position = CGPointMake(self.mapNode.position.x-self.mapNode.mapSpeed, self.mapNode.position.y);
if (self.helperNode.position.x <= 0.0f) {
[self.mapNode generateNextColumn];
self.helperNode.position = CGPointMake(40.0f, 0.0f);
NSArray *array = self.mapNode.map[self.mapNode.rowCount];
SKSpriteNode *row = [self.mapNode buildNextRowFromArray:array];
row.position = CGPointMake((self.mapNode.rowCount*40)-20, 0);
[self.mapNode addChild:row];
NSString *string = [NSString stringWithFormat:@"row%li",self.mapNode.rowCount-(long)self.mapNode.children.count];
SKNode *removableRow = [self.mapNode childNodeWithName:string];
[removableRow removeFromParent];
}
어디에서지도 노드의 위치를 확인하고 있습니까? – sangony
helper 노드를 만들어서 mapNode와 같은 속도로 움직이는데 helper 노드를 만들었지 만 위치가 0에 이르면 (40,0) (40 와이드 타일을 가짐)로 재설정하고 열을 제거하고 생성하면 다른, 내 문제는 도우미 노드와지도 노드가 동기화되지 않습니다 (지도가 세대보다 빠름) – sonyeelol