cocos2d 37

Cocos2d v3.3 화면 방향 전환

Cocos2d v3.3 화면 방향 전환아직 v3.3은 베타 버전이므로 방식이 달라질 수 있습니다.cocos2d-swift에서는 버전이 마이너 업데이트 인데도 불구하고, 0.1이 올라가면 올라갈수록 기능도 많이 생기고 내부 구조도 많이 바뀌고 있다. 편하자고 구 버전만 사용할 수 없다. v3.3에서는 Metal renderer, Packages, Android 이렇게 아주 막강한 기능이 추가 될 예정이다. 또한 화면 방향 설정 하는것도 바뀌었다. 아무리 Targets > Deployment Info > Device Orientation 에서 Portrait 로 설정을 해도 세로 화면으로 고정되질 않는다. v3.3에서는 안드로이드를 Apportable로 포팅하는게 아니라, Xcode에서 바로 빌드를 할 수 ..

iDev/Cocos2D 2014.10.04

cocos2d에 UIGesture 추가하기

RayWenderlich의 캔디 크러시 따라 만들기를 SpriteKit에서 cocos2d v3로 포팅을 하고 있는데 UIGesture 부분이 나와서 삽질 아닌 삽질을 공유한다. 딱 한가지만 알아두면 된다. cocos2d에서 RootViewController(UIViewController)는 CCDirector이다. - (void)showGameOver { self.gameOverPanel.visible = YES; self.myscene.userInteractionEnabled = NO; self.tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideGameOver)]; UIViewCon..

iDev/Cocos2D 2014.05.22

cocos2d v3에서 Implicit declaration of function 'ccDrawColor4B' is invalid in C99 해결 방법

2012년 6월 8일 cocos2d에서 implicit declaration of ‘glColor4ub’ is invalid in c99 해결방법 글로 블로깅을 한적이 있다. 저 때는 v1->v2로 변경을 하는 과정에서 생긴 이슈 였는데, v2->v3로 갈려니 또 비슷한 에러가 발생한다. Implicit declaration of function 'ccDrawColor4B' is invalid in C99 에러가 뜬다. 간단하게 CCDrawingPrimitives.h 헤더파일만 임포트 하면 해결된다. 삽질 30분 해결 완료. #import "CCDrawingPrimitives.h" - (void) draw{ glLineWidth(maxSize.height); ccDrawColor4B(255, 255, 2..

iDev/Cocos2D 2014.03.24

[cocos2d] 소스 하나로 iOS, Mac, Android로 개발하기

하나의 프로젝트에서 여러개의 플랫폼용으로 빌드 할 때, 아래 코드를 잘 조합해서 하면 하나의 소스로 여러개의 플렛폼으로 빌드를 할 수 있다. 간단하게 설명.1. workspace를 만든다. 2. cocos2d iOS Project를 만든다. Add to, Group(처음 생성하는 프로젝트면 없을 수도 있다) 위치를 workspace root로 정한다. 3. cocos2d Mac Project를 만든다. Add to, Group 위치를 workspace root로 정한다. 4. 하나의 프로젝트에서 소스를 생성하고 다른 프로젝트로 옮길 때는 Project > Target > Build Phases > Compile Sources > + > Add Other ... > 원하는 소스코드 추가(그냥 드래그 앤 드..

iDev/Cocos2D 2014.03.09

Apportable로 cocos2d 게임을 안드로이드 포팅시 해상도 문제 해결 방법

cocos2d-iPhone 게임을 안드로이드로 포팅시 그냥 아무런 옵션 없이 컴파일을 하면 갤럭시 노트 3와 같은 고해상도 단말에서는 아주 작게 나타난다. 이것을 해겨 하기 위해서 아래 코드를 앱이 실행 될 때 넣어주면 된다. -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { #ifdef ANDROID [UIScreen mainScreen].currentMode = [UIScreenMode emulatedMode:UIScreenBestEmulatedMode]; #endif... }

iDev/Cocos2D 2014.02.28

iPhone 5 전용 배경화면 패치

iPhone 5 전용 배경화면 패치 iPhone 4S, iPhone 4에서는 아무런 문제가 없다. iOS에서는 *.png와 *@2x.png 로 이미지를 레티나용이냐 아니냐로 구분한다. cocos2d에서는 @2x 대신에 -hd를 사용하여 구분한다. iPhone 5는 세로가 1136이고 iPhone 4S이하는 960이기 때문에 배경화면을 기존 -hd로 설정을 하면 공백이 생긴다. 해결을 위해서 cocos2d를 살짝 수정을 해서 iPhone 5전용 이미지를 지원하도록 패치하도록 한다. “AppDelegate.m” 파일로 이동을 한다. (BOOL)application:didFinishLaunchingWithOptions:launchOptions 메소드에서 아래 코드 부분을 찾는다. [sharedFileUtils..

iDev/Cocos2D 2013.03.17

드래곤 플라이트 따라 만들기 - 10. 배경음악과 사운드 효과음

게임에 있어서 가장 중요한 것들 하나가 배경음악이라고 생각이 든다. 애니팡도 그렇고 드래곤 플라이트도 그렇고 단순하면서 반복적인 배경음악이 게임에 몰입을 하고 중독을 일으키게 할 만큼 엄청나게 중요하다. 이번 파트에서는 배경음악과 사운드 효과의 재생을 구현해 보도록 하자. 배경음악과 사운드 효과cocos2d에서 배경음악과 사운드 효과는 SimpleAuidoEngine을 사용한다. 즉각 즉각 필요할 때 마다 메모리에 올려서 재생을 해도 상관은 없지만, 사운드의 경우에는 용량도 크고 해서 게임 시점에 메모리에 올릴경우 지연이 발생한다. 그래서 게임 초반에 preload를 사용하여 미리 메모리에 올려 놓고 필요할 때는 재생만 해서 사용한다. mp3, wav 등 다양한 형식의 음악 파일을 지원한다. 단, 너무 ..

iDev/Cocos2D 2013.02.12

드래곤 플라이트 따라 만들기 - 9. 폭발 효과 애니메이션

폭발 효과 에니매이션 총알에 맞은 적 또는 플레이어 케릭터가 적과 충돌할 경우에 폭발하는 애니메이션이 보이게 된다. cocos2d에서 제공하는 파티클을 사용하여서 폭발하는 효과를 더 현실감 있고 화려하게 구현 하는 방법도 있다. 이 튜토리얼에서는 한두가지의 이미지로 폭발 파티클 효과를 비슷하게 구현하도록 하겠다. 폭발 스프라이트 애니메이션을구현 하기 위해서 CCSprite를 상속 받아서 Dust 라는 이름으로 클래스를 만든다. Dust.h 로 이동하여 아래 코드를 추가한다. @interface Dust : CCSprite { CCArray *dusts; CCArray *explosions;} @property (nonatomic, weak) CCSpriteBatchNode *batch; -(void)an..

iDev/Cocos2D 2013.02.12