[Cocos2D 09.03]02. 주요클래스의 메소드
2010. 9. 3. 13:59ㆍIPhone/Cocos2D
반응형
1.Director
convertCoordinate - UIKit 좌표를 OpenGL좌표로 변환한다. 터치 좌표를 현재 레이아웃에 맞게 변환 할 때 유용하다. |
userFastDirector - 메인 루프 호출을 빠르게 한다. 이 메서드를 사용하기 위해서는 다른 Director의 메서드 보다 가장 먼저 호출되도록 해야 한다. 보통의 Director보다 훨신 빠르지만 배터리 소모도 훨신 많으므로 주의해서 사용해야 한다. |
sharedDirector - 클톤 Director클래스 인스턴를 리턴한다. 이 인스턴스는 애플리케이션을 통틀어서 하나의 인스턴스만을 서로 공유한다. |
pushScence - 새로운 신을 큐에 추가한다. 신은 큐를 사용해서 관리되는데 이 큐에 새로운 장면을 추가할 때 사용한다. 이 메서드를 호출하여 새로운 신을 큐에 추가하면 추가한 신이 실행되게 된다. 너무 많은 신을 추가해서 메모리를 낭비하지 않도록 주의해야 한다. |
popScene - 큐에서 신 하나를 뺀다. 만약 이전 신으로 복귀하길 원하는 경우에는 popScene을 호출하여 현재 보이는 신을 삭제하고 이전 신이 현재 신으로 실행하도록 하면 된다. 현재 실행되고 잇는 신이 있는 경우에는 이 메서드를 호출 할 수 있다. |
replaceScene - 새로운 신으로 신을 교체한다. 이전 신은 교체시 종료된다. 이전에 실행되는 신이 있는 경우에만 호출하도록 해야한다. handRankScene *hr=[handRankScene node]; [[Director sharedDirector] replaceScene:hr]; |
pause - 실행되고 있는 신을 멈춘다. 화면은 그려진 상태이지만 그 상태 그대로 멈추게 된다. 내부 스케줄러는 휴면 상태가 되며 CPU동작을 최소화하기 위해서 이 상태에서는 4프레임으로 그리게 된다. |
resume - 스케줄 타이머를 다시 활성화 상태로 변경하고 중지했던 신을 다시 재개한다. |
startAnimation - 메인 루프를 다시 재개한다. 이전에 stopAnimation 호출로 멈추었을 때에만 이 메서드를 호출하도록 해야한다. |
stopAnimation - 애니메이션을 중지하고, 아무것도 그리지 않게 된다. 화면은 그대로 두고 단순히 중지 상태로 변경하고 싶은 경우라면 pause메서드를 호출한다. |
winSize - OpenGL 뷰의 크기를 얻어온다. |
setPixelFormat - 픽셀 포맷을 설정한다. 기본 픽셀 포맷은 kRGB565이고 설정할 수 있는 값들로는 kRGBA8와 kRGB565가 있다 픽셀 포맷 설정을 변경하려면 Director를 UIWindow/UIView 에 부착하기 전에 변경해야한다. |
2.Layer
레이어 클래스에서 터치 이벤트를 받는데 다음과 같은 메소드를 사용한다.
전에 터치를 사용할수 있도록 초기화 해줘야 하는데 isTouchEnabled의 속성값을 Yes로 바꾸어주면 터치를 사용할수 있다.
(BOOL)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
(BOOL)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
(BOOL)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
방법은 모두 같기에 하나만 예로 작성해보면..
- (BOOL)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { for(UITouch *touch in touches) { CGPoint location=[touch locationInView:[touch view]]; CGPoint covertedPoint=[[Director sharedDirector] convertToGL:location]; } return FALSE; } |
반응형
'IPhone > Cocos2D' 카테고리의 다른 글
[Cocos2D 09.03]06.DSProject!! (0) | 2010.09.04 |
---|---|
[Cocos2D 09.03]05. AtlasAnimation과 Sprite (0) | 2010.09.03 |
[Cocos2D 09.03]04. 메뉴만들기 (0) | 2010.09.03 |
[Cocos2D 09.03]03. 새로운 클래스로 Scene만들기 (0) | 2010.09.03 |
[Cocos2D 09.03]01. Cocos2D 엔진 (0) | 2010.09.03 |