2014-03-19 3 views
2

프로젝트를 Cocos2d v3으로 업데이트하려고합니다. 모든 프레임을 실행하는 업데이트 메서드를 구현하는 방법을 궁금해. 여기 https://www.makegameswith.us/gamernews/359/cocos2d-30-a-brief-transition-guide[self scheduleUpdate]; 통화가 나는 경우 장면 하중이 방법은 매 프레임마다 실행됩니다 추측으로 만 방법을모든 프레임을 실행하는 업데이트 방법을 구현하는 방법

- (void)update:(CCTime)delta { 
     ... 
} 

을 추가, 필요하지 않다는 정보가있다. 하지만 다른 일정 후에 일정을 시작하려면 어떻게해야합니까? 예를 들어 버튼을 누르거나 시작한 다음 다시 중지했다가 다시 실행하십시오.

또한 ccTime은 무엇입니까? 단순히 CCTime으로 이름이 변경됩니까?

답변

2

예, update 메서드는 모든 프레임에서 실행됩니다.

게임 상태에 따라 다른 동작을 원할 경우, 특히 게임이 단순한 경우에만 if 또는 switch을 사용하면됩니다.

더 복잡한 경우 언제든지 다른 방법을 선택하여 실행할 수 있습니다.

여기 내 선택 속성

// The update selector used depending on state 
@property (nonatomic, assign) SEL updateSelector; 

그리고 내 업데이트 방법

- (void) update:(CCTime)delta 
{ 
    if (self.updateSelector != nil) 
    { 
     IMP imp = [self methodForSelector:self.updateSelector]; 
     void (*func)(id, SEL) = (void *)imp; 
     func(self, self.updateSelector); 
    } 
} 

만 내 상태에 따라 다른 업데이트 선택을 설정합니다.

+0

대단히 감사합니다. 아주 잘 작동합니다. – Grixol

관련 문제