iDev 211

드래곤 플라이트 따라 만들기 - 3. 플레이어 케릭터

이번 파트에서는 플레이어 케릭터를 추가하고, 터치입력을 받아서 좌우로 움직이는 것을 다루겠다. 스프라이트 시트 게임에서는 많은 스프라이트 이미지들이 사용된다. 아무것도 몰랐을 때는 이미지 한 장, 한 장을 불러서 사용했다. 물론 그렇게 해도 가벼운 게임에는 큰 문제가 없다. 아무리 작은 이미지라도 한 장이 차지 하는 최소 공간이 있다고 한다. (정확하게는 잘 모르겠다) 그래서 작은 이미지를 여러장 따로 불러 쓰면 필요 없는 공간이 많이 지므로 효율성도 떨어진다고 한다. 그래서 게임에는 작은 이미지 파일을 통짜로 묶은 스프라이트 시트를 사용한다. 예를 들면 드래곤 라이드에서 사용한 이미지 시트는 아래 그림과 같다. 그림은 한 장이지만, plist 파일로 각각 스프라이트의 이미지 정보를 담고 있다. 개발자가..

iDev/Cocos2D 2013.01.16

드래곤 플라이트 따라 만들기 - 2. GameScene 기본과 배경화면 스크롤

이 연재글은 필자의 심심함에 따라 작성되고 있는 글입니다. 좀 늦어질 수도 있습니다. 그리고 코드의 내용이 개판일 수도 있으니 나름 유념하고 봐주세요. 소스는 나중에 한 번에 통짜로 github에 올릴테니 버그, 수정 사항이 있으면 알려주시면 반영 하도록 하겠습니다.만들고 라인수를 살펴보니 주석포함 1200 라인정도 밖에 안되네요. 정말 아무나 할 수 있습니다. 본 글과 소스의 라이센스는 '만나면 커피 한잔 사주기' 라이센스 입니다. 쿨럭. GameScene 만들기 이전에는 Layer에 Scene을 클래스 메소드를 사용하여 생성하였지만, Scene 하위에 다수의 레이어를 자식노드로 추가하기 위해서 CCScene을 상속받아서 Scene을 만들도록 하자. Cmd(⌘) + N으로 새로운 파일을 추가 한다. C..

iDev/Cocos2D 2013.01.15

드래곤 플라이트 따라 만들기 - 1. 메뉴와 화면모드

이 연재글은 필자의 심심함에 따라 작성되고 있는 글입니다. 좀 늦어질 수도 있습니다. 그리고 코드의 내용이 개판일 수도 있으니 나름 유념하고 봐주세요. 소스는 나중에 한 번에 통짜로 github에 올릴테니 버그, 수정 사항이 있으면 알려주시면 반영 하도록 하겠습니다.만들고 라인수를 살펴보니 주석포함 1200 라인정도 밖에 안되네요. 정말 아무나 할 수 있습니다. 본 글과 소스의 라이센스는 '만나면 커피 한잔 사주기' 라이센스 입니다. 쿨럭. 지난번에는 게임 개발의 환경 구성을 하였다. 이번 장에서는 본론으로 들어갈려고 했으나 게임의 가장 중요한 부분인 메뉴 화면을 구성을 할 것이다. 그리고 화면모드 변경에 대해서도 설명을 할 것이다. :-) 메뉴 화면게임을 시작 하면 대부분의 게임은 메뉴로 시작한다. 단..

iDev/Cocos2D 2013.01.14

드래곤 플라이트 따라 만들기 - 0. 준비편

이 연재글은 필자의 심심함에 따라 작성되고 있는 글입니다. 좀 늦어질 수도 있습니다. 그리고 코드의 내용이 개판일 수도 있으니 나름 유념하고 봐주세요. 소스는 나중에 한 번에 통짜로 github에 올릴테니 버그, 수정 사항이 있으면 알려주시면 반영 하도록 하겠습니다.만들고 라인수를 살펴보니 주석포함 1200 라인정도 밖에 안되네요. 정말 아무나 할 수 있습니다. 이번화는 본론에 들어가기에 앞서서 기본 적인 준비를 위해서 작성 하도록 한다. 준비물cocos2d로 게임을 만드는데 필요한 도구들을 알아보도록 하자. 아래 목록만 있으면 충분히 만들 수가 있다.- Xcode를 돌릴 Mac 한 대. (누가 레티나 맥북 프로 한 대 줬으면 좋겠다. :] )- iOS 기기 (누가 iPhone 5 한 대 줬으면 좋겠다...

iDev/Cocos2D 2013.01.13

cocos2d 배경화면 무제한 스크롤링 하기

동일한 이미지 한 장을 사용해서 무제한으로 도는 것 처럼 보이게 만들 것이다. Note:`CCParallaxNode`를 사용하면 배경화면을 마치 달리는 기차에서 창 밖을 바라보면 가까이 있는 것은 빠르게 움직이고 멀리있는 것은 느리게 움직이는 효과를 줄 수 있다. header 파일에 아래 프로퍼티를 추가한다. @property (nonatomic, weak) CCSprite *backgroundImage1; @property (nonatomic, weak) CCSprite *backgroundImage2; implement 파일에 아래 코드를 추가한다. - (void)initBackground{ //배경에 사용할 1번 이미지를 생성 후, 화면에 꽉 차게 이동 시킨다. _backgroundImage1 = ..

iDev/Cocos2D 2013.01.13

드레곤 플라이트 따라 만들기 (손)연재 v0.6 영상만 공개

부재 : 날개 주는 사람이 없어서 직접 만들어서 하는 드레곤 플라이드 따라만들기 드레곤 라이드 올해 몇 가지 실천 계획 중 하나가 '책 쓰기' 였는데, 얼렁뚱땅 블로그 (손)연재로 때울려고 시작을 했습니다. 제가 게임을 잘 하지도 못 하고, 만들어 본 기억은 더더욱 없기에... cocos2d와 google 만 믿고 키보드를 들었는데 로직은 워낙 간단한 게임인지라 1차 기본 기능은 모두 완성 되었습니다. 현재는 코드를 바탕으로 블로글 (손)연재 글을 작성 중 입니다. 글 쓰다가 버그 수정이며 리펙토링해서 글을 손봐야 할 상황이긴 하지만 빠르게 작성하면 하나 정도는 올라갈 분량은 작성 하였습니다. 연재글과 소스를 같이 공개하겠습니다. 소스는 (만나서 커피한잔 사주면 지맘데로 가져다 써도 되는) 오픈소스 라이..

iDev/Cocos2D 2013.01.13

CCSprite 이미지 변경

CCSprite를 초기에 생성후에 게임중에 동적으로 변경을 해야 할 때가 있다. 이때 Texture를 변경하면 되는데 Sprite Sheet를 사용하고 있으면 아래 코드처럼 스프라이트 프레임 캐쉬에서 스프라이트 이름으로 Texture에 해당하는 프레임을 가져와서 넘겨주면 이미지가 변경이 된다. [_leftWing setDisplayFrame:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"dragon_01_wing.png"]];

iDev/Cocos2D 2013.01.12

국민게임 드레곤 플라이트를 따라 만들기 - 에필로그

국민게임 드레곤 플라이트를 따라 만들기 대한민국 국민 게임인 애니팡에 이은 히트작인 드레곤 플라이트를 따라 만들어 보자. 드레곤 플라이트를 보는 순간 떠올랐다. ‘앗! 만들기 쉽겠는데?’ 1장의 배경화면으로 계속 스크롤링 되는 배경 화면, 움직이는 것 처럼 보이지만 고정된 플레이어 케릭터, 일정 주기로 내려오는 적들, 계속해서 자동으로 발사되는 미사일. 컨셉은 아주 간단했다. 개발자가 밝혔듯이 뉴질랜드의 유명 개발사 Half Bricks의 Jetpack Joyride에서 영감을 얻었다고 한다. 간단한 조작으로 손 쉽게 게임을 진행하는 것. 게이머는 다른 많은 것을 생각 할 필요가 없다. 그냥 좌우로 움직이기만 하면 된다. 개발 또한 엄청 간단하다. cocos2d의 모든 부분이 아닌 드레곤 플라이트 게임 ..

iDev/Cocos2D 2013.01.01

CCSpriteBatchNode 성능 테스트

게임에서는 이미지들이 다시 사용되는 경우가 많다. 이미지들을 많이 사용하지 않으면 모르겠지만, 자주 재 사용 경우에 GPU, RAM 등등 시스템의 전반적인 성능에 영향을 미친다. 그래서 아래 소스코드와 같이 무식하게 간단한 테스트를 해보았다. Cocos2D Sprite-Batch Performance Test 참조 동일한 스프라이트 시트를 사용해서 동일한 스프라이트를 하나는 배치노드를 사용해서, 나머지는 그냥 스프라이트를 사용해서 500번 램덤하게 위치 시켜 보았다. 이미지를 다양하게 사용했을 경우 등 다른 환경은 테스트를 하지 않고 그냥 단순하게 했다. iPhone 4S에서 성능 테스트를 했으며, iPhone Simulator에서는 사용하는 openGL의 종류가 다르기 때문에 제대로된 측정이 불가하다...

iDev/Cocos2D 2012.11.06