cocos2d-x가 약간 터치 시스템이 괴랄해서 사용하기 조금 불편합니다. 그래서 많은 분들이 터치 매니저를 직접 만들어서 사용하고 있죠. 이미 터치 매니저를 만드신 분들은 상관 없겠지만 혹시 차후에 만드실 분들은 제가 만든 것을 참고하시면 될 것 같습니다. https://github.com/growingdever/cocos2dx-touchmanager 사실 별 내용은 없고, CCNode를 상속받은 터치 매니저를 Scene의 최상위 노드로 둔 다음, 터치와 관련된 Node들을 전부 터치 매니저 노드에 등록하면 Z Order가 가장 높은 Node에게 터치 이벤트를 날려주는겁니다. (말로 설명하니까 복잡한데, 별거 없습니다.) 이런거 때문에 시간 낭비 하시지 마시라고 공유합니다. 많은 도움이 되길 :) p...
보통 횡,종스크롤 게임을 cocos2d-x를 이용하여 만들 때 CCParallaxNode를 방법으로 제시한다. 실제 예제로도 제안되어 있기도 하고. 하지만 나는 다음과 같은 이유로 인해 CCParallaxNode를 사용하지 않기로 결정했다. (대표적인 이유들만 쓰도록 하겠다.) 1. 별로 직관적이지 못한 구조CCParallaxNode가 '원래' 스크롤링을 위해 만들어진 클래스인지는 잘 모르겠다. 하지만 어쨌든 스크롤링을 구현하는데 별로 직관적이지 못한 구조를 가졌다. 보통 CCParallaxNode를 사용할 때 addObject를 하면서 얼마나 이동될 값인지를 나타내는 ratio를 넣고, 매 루프마다 CCParallaxNode의 position을 변경시키는 방법을 이용한다. 다른 사람들에게는 직관적일지는..
메뉴 아이템으로 스프라이트 쓰기엔 애매할 때는 그냥 텍스트 라벨로 만들어진 CCMenuItemFont를 사용하곤 한다. Lua에서는 이 노드에 터치시 어떤 행동을 하기 위해서는 registerScript 함수를 사용하는데... CCMenuItemFont는 괴랄하게도 터치와 관련된 registerScript 함수 이름이 registerScriptTapHandler이다.(참고로 CCLayer에서의 registerScriptTouchHandler이다.) 네이밍을 누가한건지 모르겠는데.... 걍 통일하는게 낫지 않겠다 싶다 - -;;
Lua에서 print 함수를 사용하면, 엔진상에서 콘솔에 Lua에서 프린트한 문자열을 띄워준다. 문제는 cocos2d-x 2.1.4 버전에서는 Lua print 함수와 관련해서 문제가 있었다 - -;; 함수상으로는 CCLog를 사용하는데, 이게 정상적으로 콘솔에 문자열을 띄우질 못하는 것이다. 다들 알다시피 CCLog는 매크로 함수라서.... 매크로 관련하여 약간 문제가 있기 때문에 이런 상황이 발생한 것이다.(http://www.cocos2d-x.org/boards/11/topics/27721) 위에 언급한 링크에서 제시한 방법과 다르게 나는 그냥 간단하게 printf 함수를 쓰는 것으로 해결했다. 어차피 윈도우에서만 개발할 예정이라.... 나중에 딱 한줄만 빼면 될듯하다.
Hello Lua 소스 코드를 분석합니다.이 글에서는 스프라이트 애니메이션을 만드는 코드를 살펴보겠습니다. -- 창 크기를 구함 local visibleSize = CCDirector:sharedDirector():getVisibleSize() -- origin을 구함 local origin = CCDirector:sharedDirector():getVisibleOrigin() -- 크기 지정 local frameWidth = 105 local frameHeight = 95 -- CCTextureCache를 불러와서 dog.png로 텍스쳐를 만든다. local textureDog = CCTextureCache:sharedTextureCache():addImage("dog.png") -- rect를 그림의..
Cocos2d-x에는 tinyxml2을 내장하고 있습니다. 결론부터 말씀드리자면 내장되어 있는 tinyxml2는 사용이 불가능합니다. -_-;; cocos2dx/support/tinyxml2/ 디렉토리에 tinyxml2이 있는데, 이걸 include하여 사용하면 링크에러를 뿜어냅니다. 따라서 tinyxml2을 이용하고 싶으면 자신의 프로젝트 Classes 디렉토리에 직접 tinyxml2 파일을 넣어줘야합니다. 그리고 소스에서 직접 추가한 tinyxml2 파일을 include해서 사용하면 됩니다. 그런데....https://github.com/cocos2d/cocos2d-x/issues/2238#issuecomment-20171426이 링크를 보니 Minggo(cocos2d-x 커미터)가 유저와 나눈 대화..
기존에 그냥 template으로 Visual Studio에서 생성했었는데 툴을 제공하고 있었더군요.(제가 완전 구닥다리였음....) 그 툴 사용하는 방법을 소개하려고 합니다. Cocos2d-x 디렉토리의 위치를 COCOS2DX_DIR이라고 하겠습니다.COCOS2DX_DIR\tools\project-creator의 위치로 가면 create_project.py이라는 파일이 보이실겁니다.네, 보시다시피 파이썬으로 만들어진 스크립트입니다. 예상하셨겠지만 이 스크립트를 이용하기 위해서는 파이썬이 필요합니다.제 작업환경에 설치되어 있는 Python의 버전은 2.7.4입니다.다른 버전에서도 이용 가능한지는 잘 모르겠군요. 파이썬 설치는 아래 링크를 참조하시면 될 듯 합니다.http://dev.claztec.net/7..
러프한 example
이 글에서는 github를 이용합니다.각자 사용하시는 git tool을 사용하시면 됩니다.혹은 그냥 다운받아서 사용만 하시려는 경우, github에서 download zip을 하시면 됩니다. 또한 제가 이것을 GDG Korea Android Code Lab에서 배웠고 거기서 사용한 Skeleton 프로젝트가 있습니다.그것을 이용할 예정임을 미리 알려드립니다!! 1. skeleton 프로젝트 다운로드 받기https://github.com/huewu/codelab_skeleton위 링크로 들어가서 프로젝트를 다운로드 or git clone 합니다. 이 프로젝트를 만들기위해 수고해주신 huewu님과 gdg korea android를 위해 Fork 한번씩 눌러주시면 더 좋겠죠? :) 또한 아래의 링크로 들어가서..
- Total
- Today
- Yesterday