본문 바로가기

모바일게임엔진

cocos2d-x 포코팡 류 게임만들기!! - 13 - 화면 전환 지금까지는 게임화면을 만드는 것에만 집중했었는데요. 이번에는 화면을 전환하는 방법에 대해 확인해보겠습니다. 일반적으로 'Scene'이라고 부르는데요. 게임을 진행하던 HelloWorldScene과는 달리, 초기화면을 구성하는 Scene을 만들어보겠습니다. 이 두 개의 Scene은 완전히 대등한 관계라고 할 수 있는데요. 마치 한 장면 장면이 연결되어 한 편의 드라마나 영화가 되는 것처럼, 게임 또한 여러 장면을 구성하고 장면들을 연결하여 하나의 게임을 완성할 수 있습니다. - 13 - 화면 전환 1. 초기화면 구성게임을 구성하는 장면은 아주 다양합니다. 실제 게임을 진행하는 장면도 있고, 게임을 처음 켰을 때 나오는 회사마크도 장면이라고 할 수 있고요. 초기 메뉴도 장면, 게임이 종료되고 점수가 나오는 .. 더보기
[버그] 첫 번째 코인이 선택되지 않는 문제 - 해결!! 대충 대충 테스트하다 보니까 버그가 있는 것을 확인하질 못했습니다. 마침 또 버그를 찾아주신 분도 있고 해서 수정한 부분을 올려드립니다.처음 터치 시, 첫 번째 코인(index '0' 코인)을 눌러도 선택되지 않는 문제가 발생하는데요. 비교값을 잘못 설정해서 발생하는 문제였습니다. '0보다 크다'라고 작성한 부분을 '0보다 같거나 크다'로 바꾸면 잘 동작합니다!/Classes/HelloWorldScene.cpp void HelloWorld::ccTouchesBegan(CCSet* touches, CCEvent* event) { CCTouch* touch = (CCTouch*)( touches->anyObject() ); CCPoint location = touch->getLocation(); _lastC.. 더보기
cocos2d-x 포코팡 류 게임만들기!! - 11 - 새로운 코인 생성 이제 새로운 코인만 생성하면 대충 완성된 형태의 게임이 완성될 것 같습니다. 남은 과정은 점수, Scene 전환, 시간제한 정도가 있겠네요. 점점 마지막을 향해 가고 있습니다!! - 11 - 새로운 코인 생성 1. 사라진 코인의 수?새로운 코인을 생성할 차례입니다. 이미 남아있는 코인들은 바닥 쪽으로 이동한 상태이기 때문에, 각 라인 별로 비어있는 위치에 코인을 생성해주면 될 것 같습니다. 다음과 같이 해보려고 합니다. - 랜덤하게 코인 종류를 선택 - 코인 이미지를 종류에 맞게 변경 - 코인을 setVisible(True)로 화면에 보이도록 설정 - 새로운 코인의 액션 추가이렇게 하면, 마치 새로운 코인이 위에서 아래로 떨어지는 것처럼 보이게 할 수 있을 것 같습니다. 여기서 새로운 코인이 떨어지는 위.. 더보기
cocos2d-x 포코팡 류 게임만들기!! - 10 - 코인 애니메이션 이번에는 코인이 떨어지는 동작을 만들어보겠습니다. 지난 시간에 코인의 이전 위치와 새 위치를 확인해서 변경하는 내용까지 살펴보았는데요. 단순히 위치를 변경하는 것이 아니라, 기존 위치에서 새 위치로 움직이는 액션을 추가하면 코인이 아래로 떨어지는 형태의 애니메이션을 구현할 수 있습니다. - 10 - 코인 애니메이션1. MOVE state기존의 코인 state는 LIVE, DEAD, SELECT로 구분되었습니다. 코인이 '움직이는 동작' 역시 하나의 상태이므로 움직이는 중간에 다른 동작과 혼선이 없도록 MOVE state를 추가하도록 하겠습니다./Classes/GameCoin.h class GameCoin : public CCSprite { private: public: enum gameState { LI.. 더보기
cocos2d-x 포코팡 류 게임만들기!! - 9 - 사라질 코인들은 모두 위로~! 막 혼자 만들때는 코드가 지저분해도 뭐 나만보니까~ 상관하지 않았었는데요. 설명을 위해 다시 작업하려니까 시간이 많이 걸리네요. 처음부터 잘 생각해서 만들었어야 했는데요. 머리가 나쁘니 몸이 고생합니다 --;이전 아이디어에 맞게 구현할 차례가 되었습니다. 터치스크린에서 손이 떨어질 때, 사라질 코인들은 위로 보내주고 남은 코인은 순서에 맞게 빈 칸을 채워주도록 합시다. - 9 - 사라질 코인들은 모두 위로~!1. 아이디어 보충지난 번에 생각한 아이디어를 실제 구현에 맞게 조금 구체화시킬 필요가 있을 것 같습니다. 별거는 없지만, 조금 다른 예제를 확인해보겠습니다.맨 밑의 [5]번 부터 시작해서, 각 순서마다 선택되어 사라질 코인인지 확인을 하는 과정입니다. 이전에 빠뜨린 내용이 "남아있는 코인 아래에 사.. 더보기
cocos2d-x 포코팡 류 게임만들기!! - 8 - 없어진 coin 채우기 : idea 한 번에 너무 많은 내용을 담으려고 해서, 글이 길어져서 읽기 힘들고, 게시하는 간격도 점점 늘어나는 것 같습니다. 좀 더 세분화해서 자주 올리도록 하겠습니다. 지난 시간까지 코인을 없앴으니, 이제는 없어진 코인을 채워보도록 하겠습니다. 크게 두 가지로 나눠서 생각해보려고 합니다.1. 어떻게 남은 코인을 바닥쪽으로 배치할 것인가2. 남은 코인과 새로 생성되는 코인이 아래로 내려가는 동작시작합니다. - 8 - 없어진 coin 채우기 : idea1. 어떻게 남은 코인을 바닥쪽으로 배치할 것인가 당연히 더 좋은 방법이 많이 있겠지만, 나름 생각해본 제 아이디어를 설명하고, 그대로 구현해보려고 합니다.우선, [ 6 * 7 ] 크기로 배치되는 게임판에서 세로 줄 끼리는 사실 지금 단계에서는 서로 관련이 없다고 볼.. 더보기
cocos2d-x 포코팡 류 게임만들기!! - 7 - 게임을 좀 더 제대로! (2) 우연하게 네이버 블로그에서 제 글의 게임이미지로 포코팡류 게임을 만들고 계시는 분을 봤습니다. 신기하기도 하고, 뿌듯하기도 했지만, 열심히하고 계시는 그 분에 비해 저는 너무 지지부진한 것 같아서 부끄러운 마음도 들었습니다. 열심히 해야겠습니다. 지난 시간에 이어서, 좀 더 게임답게 동작하도록 만들어보겠습니다. 같은 종류의 코인이 연속되어 선택되도록 만들어 놓은 상태기 때문에, 이번에는 화면에서 손가락을 떼는 순간 선택된 코인들을 제거하도록 해보겠습니다. 처음 선택된 코인 기준으로 동일한 종류인 경우 카운트값을 증가시키고, 이 값이 3개 이상이면 제거하면 되기 때문에 그렇게 어려운 작업은 아닐 것 같습니다. - 7 - 게임을 좀 더 제대로! (2) 1. 선택된 코인의 개수를 저장우선 헤더파일에 선택과 삭.. 더보기
cocos2d-x 포코팡 류 게임만들기!! - 6 - 게임을 좀 더 제대로! (1) 터치 동작도 확인했으니, 이제 좀 더 게임스럽게 동작하도록 만들어봐야겠습니다. 처음 터치된 위치에서부터 같은 모양이 세 개 이상 연속되는지를 확인하려고 하는데요. 1. 처음 터치된 위치의 코인을 확인 2. 터치 상태에서 움직이는 동안 선택된 코인이 1에서 선택된 것과 같은지 확인 3. 터치를 떼는 순간 선택된 코인이 3개 이상이면, 선택된 코인을 모두 제거 이러한 과정을 거치면 포코팡과 비슷한 동작을 할 것 같습니다. 게임 메인동작과 관련된 부분은 내용이 많을 것 같아서 나누어 포스팅할 예정입니다. - 6 - 게임을 좀 더 제대로! (1) 1. 처음 터치된 위치의 코인을 확인지난 시간에 터치된 위치를 확인하여 코인을 제거하는(보이지 않게 하는) 부분을 구현해봤는데요. 이번에는 터치를 떼는 순간 일괄적으로.. 더보기
cocos2d-x 포코팡 류 게임만들기!! - 5 - 터치! Touch! 지난 시간까지 제가 생각했던 화면 구성은 모두 마친 것 같습니다. 적을 공격하는 미사일도 없고, 특수 아이템도 없고.. 뭐 그런거 다 없습니다. 아! 점수판과 타임바는 일단 게임을 만들고 나서 나중에 추가할 계획입니다. 이번에는 터치 기능을 추가해보겠습니다. 처음부터 막 여러 개를 없애고 이렇게 하진 못할 것 같고요. 화면을 눌러서 코인을 선택하면 없어지고, 없어진 코인을 선택하면 다시 나타나고! 이정도만 구현해보겠습니다. - 5 - 터치! Touch! 터치 동작은 크게 세 가지로 나누어집니다. - 누르고! - 움직이고! - 떼고!! 이렇게 세 가지 동작으로 구분합니다. cocos2d-x 에서는 - 누르고! : ccTouchesBegan - 움직이고! : ccTouchesMoved - 떼고!! : ccT.. 더보기
cocos2d-x 포코팡 류 게임만들기!! - 4 - 게임 Coin!! CCArray 이전 작업들을 통해 게임화면을 어느 정도 준비했다면, 이제부터는 실제 게임에 필요한 코인(딱히 부를만한 이름이 없어서 마음대로 정했습니다. 모양도 동그랗고 해서...)들을 배치하고 터치해서 없애고, 없어진 부분에 새로 코인이 생기게 하는 진짜 게임스러운 부분들을 만들어보겠습니다.우선 게임 동작에 대한 기본적인 아이디어들을 생각해보고 실제로 구현해보겠습니다.- 4 - 게임 Coin!! CCArray처음 구상 부분에서 가볍게 생각해봤지만, 이제는 실제로 구현을 해야되기 때문에... 앞으로의 뻘짓을 줄이기 위해서라도 최대한 자세히 동작들을 구분하고 정리해야겠습니다. 요구사항을 결정하는 것은 정말 중요합니다. 혼자 생각하고 혼자 구현하고 해야되기 때문에 시간낭비를 하지않기 위해서는 준비를 잘 해야겠습니다.1. .. 더보기