COCOS2D-X

포스트: 29|조회수: 0|ARTIFACT
Items

Posts

29 posts

[cocos2d-x / 플래피위치] 무한 타일 맵

바닥이 있는 무한 맵의 경우 이번에 구현한 무한 맵은 중간에 공백이 존재합니다.이 게임은 공중에 떠 있는 게임이기 때문에 공백맵이 있어도 괜찮지만, 쿠키런같은 러닝게임이라면 공백이 있으면 안됩니다. 바닥이 이어져야 하는 경우는, 맵의 시작과 끝에 1화면 너비 정도 되는 동일한 부분을 만들어,맵의 꼬리 부분이 왼쪽 끝에 오는 순간 해당 맵을 폐기하고 새 맵을 생성해 0,0에 붙여버립니다. (※좀 더 정확히는, 맵이 정확히 왼쪽 끝에서 끝나는게 아니므로맵을 폐기하는 시점의 x좌표를 참조해 새 맵의 x좌표를 보정해 줍니다.왼쪽 끝보다 2도트 더 간 상태에서 맵의 끝이 나왔다면, 새 맵은 -2,0에 생성하는 방식) 굳이 겹치지 않고 새 맵을 기존 맵 끝부분에 맞춰서 생성해도 되는데,이때

[cocos2d-x / 플래피위치] Sequence의 활용

Sequence에는 NULL이 필수 Sequence는 트윈(액션)을 순차적으로 실행할 수 있도록 나열합니다.트윈은 순서대로 콤마(,)로 구분합니다.Sequence의 종료는 NULL로 하기 때문에 항상 끝에 NULL을 써 줘야 합니다. Sequence가 실행 중에 같은 노드에 다른 트윈이 실행되면 중첩되어 실행되는데, 이걸 의식하지 않으면 꼬이게 됩니다.지금 실행중인 Sequence를 의도적으로 중지하고 다음 트윈을 실행할 필요가 있습니다. 트윈의 중지 하나의 트윈만 실행중이고, 그걸 중지하려면stopAllActions();로 충분합니다. 하지만 복수의 트윈이 실행중이고 특정 트윈만 중지하려면, 트윈에 태그를 부여해야 합니다. 지금까지 트윈은 runAction(..) 안에 바로 기입하

[cocos2d-x / 플래피위치] 게임의 순환 구조

타이틀 화면-게임 플레이-게임오버-타이틀 화면-...의 순환 구조를 만듭니다. 내용 자체는 사용자 정의 레이어와 사용자 정의 콜백(객체화 펑션)을 사용하는 것으로새로운 것은 없습니다.전환할 때마다 각각에 필요한 초기화를 제대로 해주는 것이 중요. 타이틀/게임/게임오버를 각각 별도의 Scene으로 만들어서 각각 replaceScene 해 주는 방법도 가능합니다. 여기서는 Scene을 전환하지 않고 하는 방법인데 어느쪽이건 상관없지만Scene 단위로 전환할 경우, Scene 간의 정보 전달은 가급적 전역 변수로 처리하게 됩니다. 레이어는 재사용하기 좋기 때문에-예를 들어 홈 화면과 게임 화면은 각각 별도의 Scene으로, 상점은 사용자 정의 레이어로 만들어 놓으면홈 화면에서도 게임 화면에서

[cocos2d-x / 플래피위치] 사용자 정의 콜백

😭 자막이 잘못 들어갔습니다.이번 영상의 제목은[11강 사용자 정의 콜백] 입니다. std::function과 람다식은 cocos2d-x의 기능이 아니라 c++에 정의된 문법입니다.여기서는 cocos2d-x 개발에 필요한 정도만 다루겠습니다. 람다식은 이미 스케줄이나 터치 이벤트 구현할 때 다뤘는데불필요한 클래스 정의나 함수 선언을 줄이기 위해 온갖 군데서 쓸 수 있으니까 유용합니다.콜백이나 함수를 인자로 전달하는 모든 경우에 적절하게 쓸 수 있습니다. 람다식의 구조는[](){ };로 거칠게 요약할 수 있고, [] <-외부에서 받아올 변수의 범위 (우리가 다룰 때는 굳이 신경쓰지 않아도 됩니다)() <- 람다식에 전달할 인자{} <- 람다식 몸통이렇게 됩니