아이폰 개발 팁 - cocos2d 로딩화면 쓰레드 로딩하기

쓰레드를 이용해서 자연스러운 로딩화면을 보여주면서 

백그라운드로 로딩하는데는 여러가지 방법이 있겠지만,

cocos2d 에서 이용할 수 있는 간단한 방법 중엔 이런게 있네요.

원문 링크 중의 어느 댓글을 참고해서 테스트를 해보면..



- (void) applicationDidFinishLaunching:(UIApplication*)application

{

.....


// app뜨면 바로 로딩씬을 불러와서 실행~

loadingScene = [[LoadingScene alloc] init];

[[CCDirector sharedDirector] runWithScene: loadingScene];


// 쓰레드 생성해서 로딩하기~

NSThread* thread = [[[NSThread alloc] initWithTarget:self selector:@selector(loadingProc) object:nil] autorelease];

[thread start];

}


- (void)loadingSceneProc {

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];


// 이게 핵심 코드 없으면 텍스쳐 다 깨지고 난리납니다;

// 뭐하자는 얘기인지 감만 올 뿐이죠 =_=;;

EAGLContext *k_context = [[[EAGLContext alloc]

   initWithAPI :kEAGLRenderingAPIOpenGLES1

   sharegroup:[[[[CCDirector sharedDirector] openGLView] context] sharegroup]] autorelease];

[EAGLContext setCurrentContext:k_context];

// 여기서 필요한 것들을 백그라운드로 로딩!

// 실제로 사용할 MainScene에 로딩할게 잔뜩있다고 치고.. 생성해서 로딩~

mainScene = [[MainScene alloc] init];


// 이게 혹시(!) thread-safe하지 않으면 다른 방식으로 notification 처리 필요~

[[CCDirector sharedDirector] replaceScene:mainScene];

[pool release];

}



by 쉬귀 | 2010/10/31 03:03 | 개발 | 트랙백 | 덧글(1)

직장생활과 연애의 공통점

사이즈만 빼면 닮은 꼴 -_-? (파란멍 ㅠㅠ)
  • 대부분 하지만, 꼭 해야하는 건 아니다.
  • 개인의 능력에 따라서 시작하는 난이도 차이가 크다.
  • 할려고 해도 못 하는 경우도 많다. -_-;
  • 한 번 심하게 고생하면, 다음엔 선택이 조심스러워진다.
  • 지속 기간의 편차가 크다.(몇일~몇십년)
  • 대부분의 경우, 나이가 들수록 선택의 여지가 좁아진다.
  • 일반적으로는 하나의 대상에 충실하지만, 양다리 이상이 있을 수 있다.
  • 혼자 잘한다고 되진 않는다.
  • 괜히 상대를 잘 못 만나서 고생하는 경우도 많다.
  • 의사소통과 금전적인 문제로 의견충돌이 많을 수 있다.
  • 여기에만 너무 집중하면 다른 생활을 망칠 수 있다.
  • 데드라인(기념일?)에 고생할 여지가 많다. 잘하면 큰 기쁨도 맛볼 수 있다.
  • 관계유지를 위해선 노력과 희생을 많이 해야 하는데, 상대가 대수롭지 않게 여기는 경우도 많다.
  • 어떻게 했느냐보다 어떻게 보이느냐가 중요한 경우가 많다.
  • 시간이 갈수록 더 나은 보상을 기대하게 되지만, 현실은 그렇지 못한 편이다.
  • '다음엔 잘하겠지'라는 희망고문에 시달리는 경우가 많다.
  • 상황 파악이 되면, 기대에 못 미치는 부분으로 인해 더 나은 대상을 물색하는 경우가 있다.
  • 정 때문에 버티는 경우도 많지만, 돌아서면 대부분 남이다.
  • '낌새'가 느껴지면 이미 엔딩인 경우가 많다.
  • 마무리가 깔끔하지 않은 경우가 종종 있다.
  • 노년에도 할 수 있지만, 의미가 많이 달라진다.

경험과 상식 선에서 마구잡이로 써봤습니다.
거의 망한 경험 뿐이라..
평생직장이나 천생연분을 만나신 분에겐 전혀 공감이 안될 수도 있겠네요.. =_=;

by 쉬귀 | 2010/10/10 21:24 | 일상 | 트랙백 | 덧글(5)

아이폰 개발 팁 : 진동(Vibrate) 기능 추가하기

아이폰 앱에 진동 기능 넣는건 2줄이네요;



#import <AudioToolbox/AudioToolbox.h>


...


+(void)vibrate

{

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

}



시뮬레이터나 아이패드는 진동 기능이 없으므로 반응 없습니다~


--> 참고 링크

by 쉬귀 | 2010/09/27 00:47 | 개발 | 트랙백 | 덧글(0)

◀ 이전 페이지 다음 페이지 ▶