Model ISLAND,어떤 의미에선 3차원

Sources

Posts

134 posts

[cocos2d-x / 플래피위치] 플레이어 캐릭터 조작-터치 이벤트

★ _eventDispatcher는 Director::getInstance()->getEventDispatcher()로 쓸 수도 있습니다. ★ addEventListenerWithSceneGraphPriority를 할 때, 두 번째 인수는 이벤트를 받을 노드인데, 화면(scene) 전체에 대해 받게 하고 싶기 때문에 this(=GameScene 객체)를 하고 있습니다. 만일 특정 노드를 인수로 줬다면, 이벤트 리스너 콜백 함수 안에서 event->getCurrentTarget()으로 지정 노드를 받아올 수 있습니다. 이번에는 사용되지 않았지만 터치 관련 잡지식 ★ 멀티터치를 구현할 필요가 있을 때는 EventListenerTouch

[cocos2d-x / 플래피위치] 정보 가시화(디버그모드), 타일 체크

디버그 모드 화면 좌표가 위치한 타일의 ID 읽어오기 더욱 간단한 좌표 얻기 tileX, tileY 계산할 때 자체적인 산술식을 썼는데, cocos2d-x에서는map->convertToNodeSpace(pos) 이렇게 얻어내는 방법이 있습니다.pos가 화면상의 좌표일 때, map을 기준으로 한 상대적인 좌표를 얻어내는 api가 convertToNodeSpace입니다. tileX, tileY값 범위를 검사해야 하는 이유 맵이 오른쪽 끝부터 시작할 경우에는 tileX가 -값이,화면 위로 캐릭터가 올라갈 경우 tileY는 -값이,맵이 왼쪽 끝으로 나갔을 경우에는 tileX가 맵 너비width보다 큰 값이 각각 들어오고이 값으로 getTileGIDAt을 걸면 오류납니다

[cocos2d-x / 플래피위치] 스프라이트, 스프라이트프레임, 스프라이트프레임 캐시

스프라이트와 스프라이트 프레임 (Sprite vs(?) SpriteFrame) 스프라이트는 이미지를 화면에 표시하기 위한 노드이고스프라이트 프레임은 메모리에 자리하는 이미지입니다. 스프라이트를 파일로 생성하는 것과 프레임으로 생성하는 것의 차이는Sprite::create - 파일을->텍스처(이미지)로 등록하여->이 텍스처로 스프라이트 노드를 생성Sprite::createWithFrame - 메모리에 등록된 스프라이트 프레임으로 스프라이트 노드를 생성단, 메모리에 스프라이트 프레임이 등록되어있지 않으면 파일을->텍스처(이미지)로 등록하여->스프라이트 프레임으로 사용 메모리상의 프레임에 억세스하기 위해 이름을 붙여 관리하는 것이스프라이트 프레임 캐시입니다. 텍스처

[cocos2d-x / 플래피위치] 해상도 설정, 배경/맵 띄우기

실제로 게임 해상도를 256*192 같은 저해상도로 만들면 UI 등에서 무리가 있으니,픽셀 게임이라 해도 해상도는 훨씬 높게 잡는게 보통입니다. 단지 여기서는 그렇게 하면 타일맵도 스케일을 설정해주고, 좌표 계산에 스케일까지 고려해야 하는 등설명이 복잡해지는 부분이 있기 때문에 편의상 낮은 해상도를 잡았습니다. 이번에 필요한 내용은 아니라 영상에서 설명하지는 않았는데AppDelegate.cpp 안에glview->setDesignResolutionSize( ...라는 부분이 있고여기서 ResolutionPolicy::NO_BORDER 라는 항목은 나중에 실제 단말기에서 보이게 되는 방법을 결정합니다. 이것에 관해서는 과거에도Model ISLAND,어떤 의미에선 3차원 : cocos2d

[cocos2d-x] 천년만의 cocos2dx wizard 업데이트

프로젝트 :ChangseOh/Cocos2dxWizard (github.com) 2015년에 만들고 수정 없이 그대로 죽 쓰고 있었으니 7년만의 기능 개선이네요. * edit CmakeLists.txt : 기본으로 설정된 CmakeLists.txt 파일에는 타겟 파일이 Classes/AppDelegate.cpp와 Classes/HelloWorldScene.cpp로 고정되어 있습니다.이 옵션을 체크하면 이 부분을 Classes 폴더에 들어있는 모든 cpp, h파일을 포함하도록 바뀝니다. (이렇게 수정한 후에는 Classes에 불필요한 cpp/h 파일이 남아있으면 안됩니다) 수정되기 전의 CmakeLists.txt 내용 수정된 후의 CmakeLists.txt 내용 * auto win32 cmake :