-
[cocos2d] NSTimer 사용하지 마세요프로그래밍/아이폰 2011. 11. 9. 18:13
Timers- 이제 Cocoa의 NSTimer를 사용하지 마셔용, 대신에 cocos2d에 있는 하나의 스케쥴러를 써보시지요 ?
- cocos2d 스케쥴러를 사용하면 이런이런 것들을 할수 있을걸요 ? :
- 일시정지/복귀를 자동으로
- CCLayer (CCScene, CCSprite, CCNode) 의 무대가 선택되면, 자동으로 타이머가 작동되고, 무대에서 떠나면 자동으로 비활성화되요.
/**********************************************************/ // OK OK OK OK OK /**********************************************************/ -(id) init { if( (self=[super init] ) ) { // 스케쥴 콜백 [self scheduleUpdate]; // v0.99.3 부터 지원해요! [self schedule: @selector(tick2:) interval:0.5]; } return self; } -(void) update: (ccTime) dt { // 머라 머라 머라 . . . } -(void) tick2: (ccTime) dt { // 머라 머라 머라 . . . } /**********************************************************/ // BAD BAD BAD BAD /**********************************************************/ // 왜 안좋나요 ? // 안돼~ 당신 게임을 자동으로 정지할수가 없어~ -(void) onEnter { [super onEnter]; timer1 = [NSTimer scheduledTimerWithTimeInterval:1/FPS target:self selector:@selector(tick1) userInfo:nil repeats:YES]; timer2 = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(tick2) userInfo:nil repeats:YES]; } -(void) onExit { [timer1 invalidate]; [timer2 invalidate]; [super onExit]; } -(void) tick { // 블라블라... } -(void) tick2 { // 블라블라... }
참고문헌 *
delta time? : http://en.wikipedia.org/wiki/Delta_timing
본문 원문 : http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:best_practices
머리는 아픈데 그래도 요 아가씨들은.. 으와~~ 이~~~뻐 ~
- delta time? : http://en.wikipedia.org/wiki/Delta_timing [본문으로]
'프로그래밍 > 아이폰' 카테고리의 다른 글
이름 모를 메뉴 찾아 삼만리. (0) 2011.12.09 iOS 5.1 베타 릴리즈 (0) 2011.11.30 cocos2d 관련 토막글. (0) 2011.10.23 ios 5 정식판 토렌트 - [추가] (5) 2011.10.13 [iOS] 기기 설정 무시하고 언어 설정하기 (2) 2011.08.31 댓글