분류 전체보기 183

Adlib 에 구글플레이서비스의 애드몹 적용하기

아마 구글 애드몹 또는 애드립(www.adlibr.com)을 사용하시는 분들 많이 있을 것 같습니다. 어제 요즘 작업하고 있는 프로젝트에 구글 플레이의 게임 서비스들을 붙여보려고 어제 시도를 했었는데요, 구글 개발자사이트의 안내대로 게임 서비스를 적용하는 작업중, 아래와 같은 에러가 발생 하더군요. 빌드 자체에서는 에러가 났다 안났다 하는데 (이클립스가 참 이랬다 저랬다 하네요...), 실제로 실행을 시키려 하면 아래와 같은 에러가 반드시 나더군요. [2014-03-07 16:04:23 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/google/ads/AdRequest$ErrorCode;[2014-03-07 16:04:23 - p..

Unite Korea 2014 얼리버드 티켓 발행

유니티 코리아에서 2014년 4월에 개최되는 '유나이트 코리아 2014' 행사의 얼리버드 티켓을 오픈하였다고 밝혔습니다. 유나이트는 유니티에서 주최하는 유니티와 관련된 여러가지 주제의 세션이 진행되는 행사입니다. 얼리버드 티켓은 할인 판매하는 것이며 기간은 3월 7일부터 3월 15일까지라고 합니다. 행사기간은 2014년 4월 9일~4월 10일 입니다. (출처 : http://korea.unity3d.com/shop/detail.php?pno=37693CFC748049E45D87B8C7D8B9AACD) 자세한 사항은,http://korea.unity3d.com/shop/detail.php?pno=37693CFC748049E45D87B8C7D8B9AACD 에서 볼 수 있습니다. (또는 http://korea..

Cocos2d-x 3.0 베타2 안드로이드에서 애드몹(Admob) 달기

Cocos2d-x가 기존 2.x대 버전과는 달리 3.0으로 오면서 안드로이드의 메인 액티비티가 일반 액티비티가 아닌 NativeActivity로 변경되었습니다. NativeActivity를 사용하면, 자바 호출이 필요하지 않는 프로젝트에서는 성능향상을 가져올 수 있다고 합니다만, 문제는 자바 호출이 필요할 경우 입니다. 대표적인 것이 인앱결제라든지 랭킹플랫폼, 광고 플랫폼등이 있겠지요. 3.0 베타2 버전에서는 알파버전과는 달리 기본적으로 Cocos2dxActivity.java 가 들어있습니다만 (알파버전은 이조차도 없어서 직접 생성해야 했습니다) 기존 2.x대의 일반 액티비티에서 애드몹과 같은 광고 플랫폼을 올리는 방식이 더이상 통하지 않더군요.(광고배너가 아예 화면에 나타나지를 않습니다.) Cocos..

cocos2d-x 3.0 스프라이트 수동 관리

(!) 주의 : 이 글은 C++ 초보자용입니다. 아이폰용 cocos2d를 사용하다가 넘어온분들이 C++에 익숙치 않아 헤메는 분들을 위한 글입니다. cocos2d-x 3.0 beta2에서 (beta1에서도 동일) 변경점 중의 하나가 몇몇 클래스의 생성자와 init관련 멤버함수들이 protected 로 지정되었다는 점입니다. 즉, 이제는 기본적으로 아래와 같이 수동(?)으로 스프라이트를 생성하려고 하면, cocos2d::Sprite *pMySprite = new cocos2d::Sprite;pMySprite->initWithFile ("..........."); 빌드시 cocos2d::Sprite의 protected 생성자를 호출했다는 에러가 발생합니다. Calling a protected construc..

Unite Korea 2014 개최 예정

올해에도 작년에 이어 유니티에서 진행하는 유나이트가 한국에서도 개최될 예정입니다. 유나이티는 유니티에서 매년 진행하는 Unity3D 관련 컨퍼런스로 여러 나라에서 진행됩니다. 이번에 진행될 유나이트 코리아 2014 행사는 서울 삼성동 코엑스 인터콘티넨탈에서 2014년 4월 9일~2014년 4월 10일 양일간 열릴 예정입니다. 기획, 아트, 개발의 세가지 주제를 기반으로 세션들이 진행될 예정이며, 현재 접수중으로 알려 졌습니다. 해당 행사에 관한 자세한 정보는, 유니티 코리아 공식 페이지의 UNITE에서 찾아볼 수 있으며, 링크는 아래와 같습니다. 행사 링크 : http://korea.unity3d.com/content/content.php?cont=unity2014

Cocos2d-x 3.0 beta2 발표

2014년 1월 27일에 Cocos2d-x 3.0 Beta2 가 발표되었습니다. 약 보름조금 넘어서 발표되었는데요, 생각보다 이번에는 업데이트가 빠르네요. 발표 소식은 http://www.cocos2d-x.org/news/179 에서 살펴볼 수 있습니다. 소식은 리카르도 퀘사다씨가 올린것으로 나오는군요. 이번 버전의 변화점은 https://github.com/cocos2d/cocos2d-x/blob/cocos2d-x-3.0beta2/CHANGELOG 에서 확인해 볼 수 있습니다. 살펴보면 일부 기능 추가와 많은 버그 픽스가 있었던 것으로 나오는데요, 주요점을 보면 게임에 따라 20%~100%의 렌더링에서의 퍼포먼스 향상이 있다고 하며, 스택에서 AutoReleasePool을 생성하는것을 지원한다고 합니다..

ARC는 가비지컬렉션이 아니예요.

2011년도였나요? XCode 4.2부터 ARC (Automatic Reference Counting)라는 기능이 추가되었죠. 일종의 메모리 관리를 자동화 해주는 기능인데, 커뮤니티 같은곳에 올라오는 질문을 보면, ARC 를 가비지컬렉션(GC, Gabage Collection)를 이용한 방법으로 오해하고 있는 분들이 있더군요. 심지어는 블로그나 다른 사이트들에도 ARC를 가비지컬렉션을 애플이 이름을 바꿔 놓은것 처럼 써놓은 글도 여럿 보이는군요. ARC는 가비지컬렉션이 절대 아닙니다! 혼동하면 안됩니다. 방식 자체가 둘이 완전히 다르거든요. Objective C는 기본적으로 Reference Counting 이라는 메모리 관리 모델을 사용합니다. Objecitve C에서만 사용되는 방법은 아니지만 (예를..

Objective C, @synthesize 사용... 이제는 쓰지 않아도 돼요!

가끔씩 맥이나 iOS 관련 개발 카페등을 보면, 2014년이 시작된 지금까지도 Objective C의 문법중 @synthesize에 관해 물어보는 분들이 계십니다. (참고로, Object C(오브젝트 C) 아닙니다. Objective C(오브젝티브 C) 입니다. 이거 헷갈리시는 분들이 있더군요.) 아마도, 조금 오래된 책으로 공부하거나(최근 책들은 보지 못했습니다만...) 예전에 작성되었던 소스들을 보면서 공부하기 때문인것 같습니다. 그런데, 사실 이제는 2012년 중반 이후로 Modern Objective C가 나온 이후 부터는 @synthesize는 더이상 사용할 일이 거의 없습니다. (정확히 버전은 기억나지 않지만 XCode 4.5정도 이후부터는 Modern Objective C가 지원 될겁니다.)..

Cocos2d-x 3.0 beta 안드로이드 빌드하기

지난번에, Cocos2d-x 3.0 베타의 프로젝트 생성 방법을 살펴봤습니다. (링크 : http://www.wingsnote.com/27) 이번 글에서는 안드로이드 빌드 하는 방법을 살펴봅니다. iOS의 경우에는 너무 간단해서 설명하지 않아도 될 것 같습니다. 그냥 생성된 프로젝트 디렉터리 중, 'proj.ios_mac' 디렉터리 내의 .xcodeproj만 XCode에서 열먼 모든게 끝나니까요. 안드로이드는, 빌드하는것이 그렇게 간단하지 않습니다. C++로 이루어진 cocos2d-x는 자바 환경이 기본인 안드로이드와는 이질적이기 때문에 NDK도 필요하고, 이클립스도 아무래도 안드로이드 전용 개발툴이 아니다 보니 이것저것 설정을 해 줘야 하거든요. (그래도 지루한 에러와의 싸움은 스트레스를 가중시키네요...

Cocos2d-x 3.0 beta에 새로 생긴 Vector, std::vector 대신 사용할 수 있을까?

이번에 Cocos2d-x 3.0 베타버전을 받아 보거나, 사이트에서 변경사항을 살펴보면, 이번 버전부터 cocos2d::Vector와 cocos2d::Map을 지원한다는 점을 봤을겁니다. 간단히 말해서, 기존의 cocos2d::CCArray (2.x) 혹은 cocos2d::Array (3.0알파) 대신에 cocos2d::Vector를, cocos2d::CCDictionary (2.x) 혹은 cocos2d::Dictionary (3.0알파) 대신에 cocos2d::Map을 사용하라는 것이지요. 그런데, 새로 생긴 cocos2d::Vector나 cocos2d::Map을 살펴보면, 마치 C++ 표준인 std::vector나 std::map과 유사하게 생겼습니다. 그래서 그런지, cocos2d::Vector 대..