컴퓨터/cocos2d & objective C 6

[cocos2d, iOS 4.0] jpg 사용시 발생하는 문제해결

오늘도 열심히 4.0으로 앱들을 변경하는 중입니다. cocos2d에서만 발생하는 문제인지 모르겠으나 jpg 이미지들이 4.0에서는 모두 검거나 흐릿하게 출력되는 버그가 발생했습니다. (png파일들은 문제없더군요.) 구글링해서 찾은 해결방법입니다. 사용하는 cocos2d 버젼에 따라 위치 차이는 있겠으나 동일한 구문을 수정해주면 될듯합니다. CCTexture2D.m 파일의 - (id) initWithImage:(UIImage *)uiImage 함수중 hasAlpha = ((info == kCGImageAlphaPremultipliedLast) || (info == kCGImageAlphaPremultipliedFirst) || (info == kCGImageAlphaLast) || (info == kCGI..

[objective C] NSDate로부터 int형의 년, 월, 일 추출하기

C#에 너무 익숙해서인지 자꾸 비슷한 걸 찾게 되는군요. C#의 Date형에는 멤버로 year, month, day 있어서 편하게 사용했었기에, 같은 방식으로 사용할수 있도록 만든 코드입니다. NSDate *today = [NSDate date]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; [dateFormatter setLocale:locale]; [locale release]; // Get year [dateFormatter setDateFormat:@"yyyy"]; int year = [[dateF..

[objective C] int -> string 변환시, 두자리 형식으로 표시하기 - String Format Specifiers, 문자열 형식 지정자관련

코딩시 많이 사용하게 되는 문자열 변환시, 표시형식지정자가 일반적인 C에서의 문법과 조금 틀리고, 특히나 Apple에서 제공되는 objective C 레퍼런스에 관련된 내용이 없기 때문에 혹, 저와 같은 곤란을 겪으시는 분이 있으시면 참고가 되시길 바라며 간략히 남겨 둡니다. 일반적으로 숫자를 문자열로 변환할 경우 int형을 예로 들면 치완자로 "%d"가 사용됩니다. 여기까지는 대부분의 언어에서 공통입니다만 표시될 문자수를 지정하여 - 예를 들면 1,2,3,4를 01, 02, 03, 04와 같이 표시하고 싶을 경우, 언어에 따라 "%2d", "%dd", "%d2"등으로 조금씩 다릅니다. 대부분의 C기반의 언어가 저 셋중 하나를 사용하기 때문에 몇번 바꿔가며 넣어보면 원하는 데로 출력이 됩니다만, obje..

cocos2d 사운드 출력 코드

cocos2d에서의 사운드 출력방법입니다. 개발중인 게임에 효과음이 필요하여 관련소스를 검색해 보니 OpenAL에 대한 자료가 많이 나오더군요. OpenAL은 오픈API인 3D Sound Library이며 Loki Software라는 곳에서 개발하였으나 현재, 이회사는 없어지고 Creative와 Apple이 관리하고 있다고 합니다. Apple이 관리하는 오픈소스이기때문인지 XCode설치시 IPhone용 라이브러리에 OpenAL이 포함되어 있음으로 따로 찾으실 필요는 없습니다. OpenAL 공식사이트 OpenAL을 직접 이용하셔도 괜찮지만, cocos2d에서는 더 간단하게 사용할수 있도록 CocosDenshin이라는 이름의framework가 준비되어 있습니다. 특별한 효과가 필요없이 단순 재생만 할 경우,..

아이폰 프로그래밍 - cocos2d 설치 및 템플릿 추가하기

OpenGL을 사용해 본 경험이 없는 나이기에 (그래픽스 API 사용경험 전무, 게임관련 경험도 전무..) 아무래도 OPenGL을 직접 사용하기 보다는 cocos2d를 먼저 사용해 보기로 하였다. 이전에 잠깐 cocos2d에 대해 찾아보았을때는 직접 템플릿을 만들어 추가해 주어야 XCode에서 템플릿으로 이용할 수 있는듯 하더니, 최근 버젼(0.99rc)에는 템플릿까지 포함하여 배포하는 것 같다. cocos2d는 다음 사이트에서 받을 수 있다. Google - cocos2d project home cocos2d는 OpenGL ES 1.1 을 지원하는 오픈소스 프로젝트로 2d그래픽 프레임워크이다. 다운로드 받은 후 압축을 해제하면 API라이브러리와 예제 파일, 그리고 템플릿 관련 파일들을 볼수 있다. 이제..