0
애니메이션이있는 게임이 있습니다.cocos2d 게임 루프 재개
-(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch=[touches anyObject];
CGPoint locationOfTouch=[self convertTouchToNodeSpace: touch];
CGRect rectOfScreen=CGRectMake(0, 0, screenSize.width, screenSize.height);
if (CGRectContainsPoint(rectOfScreen, locationOfTouch))
{
[[CCDirector sharedDirector] replaceScene:[PauseScene scene]];
[self unschedule:@selector(spawnEnemies:)];
[self unschedule:@selector(checkCollisionOfEnemyWithBullet:)];
[self unschedule:@selector(update:)];
[self unschedule:@selector(isJoystickActivated:)];
[self unschedule:@selector(checkHasGameEnded:)];
[[CCDirector sharedDirector] pause];
}
}
하는 구현하는 방법 : 게임 장면에서 나는 (게임이 일시 정지되기 때문에 사용자가 iOS 장비의 어느 지점에 탭 때, 완벽하게 작동) 내 게임을 일시 중지 아래의 방법을 사용
,398 : 나는 위의 방법을 envoke 방법, 여기에-(void) continueGame:(id)sender
{
[[CCDirector sharedDirector] resume];
[[CCDirector sharedDirector] replaceScene:[GameSceneLayer scene]];
//[self resumeSchedulerAndActions];
}
코드입니다 : 나는 게임을 다시 시작하기 위해 다음과 같은 방법을 구현했습니다 CCLayer : 작업을 재개, I'v은 PauseLayer 생성
하지만 계속 게임을 선택하면 게임이 빈 지점에서 시작됩니다. 모든 게임 상태는 모든 게임 캐릭터가 새로운 게임이됩니다. 사용자가 일시 중지 한 지점에서 게임을 재개하려면 어떻게합니까? 고맙습니다!
[self pauseSchedulerAndActions]; //pause
[self resumeSchedulerAndActions];//resume
또한 하나 개의 부울 변수를 유지하고, u는 필요할 때마다 확인 :
bool 변수 mIsGamePaused를 사용하는 것에 대해 혼란스러워합니다. 이러한 함수 만 사용할 수있는 경우 실제로이 변수가 필요한 이유는 무엇입니까? –
@TarasMurzenkov, 내 게임에서 나는 여러 장애물에 대해 많은 별도의 클래스를 사용했습니다. 그래서이 bool 변수를 사용하면 게임이 일시 중지 된 경우 일부 코드의 실행을 피할 수 있습니다 ... – Guru
몇 가지 코드 예제를 게시 할 수 있습니까? PS - (void) continueGame : (id) 보낸 사람이 [self resumeSchedulerAndActions] 메소드를 사용했지만 게임이 일시 중지 상태에서 재개되지 않았습니다. –