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를 그림의..
- Total
- Today
- Yesterday