본문 바로가기
모바일 개발/iOS

Cocos2d | 스프라이트 애니메이션

by KISCH 2020. 2. 19.
반응형

 

코코스

 

 

스프라이트 시트


▪︎ CCTextureCache : 텍스쳐 이미지 보관

▪︎ CCSpriteFrameCache

- 덱스쳐와 기타 정보로 이루어진 스프라이트 프레임을 보관

- 스프라이트 시트의 위치 정보 파일을 읽어들여 스프라이트 프레임 캐시에 저장

- 싱글톤인 sharedSpriteFrameCache에 추가

 

▪︎ CCSpriteFrame

- 캐시에 로딩된 위치정보를 이용해 스프라이트 시트로부터 실제 프레임 이미지들을 로딩

 

▪︎ CCSpriteSheet : CCSpriteBatchNode로 변경

▪︎ CCSpriteBatchNode

- 애니매이션 프레임에 대하여 랜더링 코드가 반복적으로 호출되지 않고 단 한번의 OpenGL 랜더링 루틴을 호출하여 효율적 -> 배치 드로잉

- 단 한장의 이미지만을 참조

 

 

애니매이션


▪︎ Animation 순서

1. CCSpriteBatchNode 시트를 만들고

2. CCSpriteFrameCache 텍스쳐로 변환 후 캐시에 저장

3. CCAnimation 캐시에서 필요한 프레임만 뽑아 만들고

4. CCAnimate 애니매이션을 만들어 sprite에 적용

 

 

좌표


▪︎ CGPointZero : (0,0)

▪︎ CGPointMake : ccp는 CGPointMake와 같습니다

▪︎ anchorPoint 

sprite.anchorPoint = CGPointZero // 스프라이트 기준점을 (0,0) 좌하단

 

▪︎ setposition

[sprite setPosition: ccp(0, 0)]; // (0,0)에 기준점을 맞춘다

 

▪︎ position : 좌표이동

 

 

배경


▪︎ CCParallaxNode

Sprite를 Parallaxnode에 붙이고, Parallaxnode를 Layer에 붙이고. Layer는 Scene에 붙인다. 

 

▪︎ 배경

3D효과를 주기위해 두개의 레이어를 속도를 다르게(먼배경은 느리게)

 

 

메뉴버튼


▪︎ 텍스쳐이미지에서 불러오기

 

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"XXX.plist"];

CCMenuItem *XXX = 

[CCMenuItemImage itemFromNormalSprite:

[CCSprite spriteWithSpriteFrameName:@"XXX.png"] selectedSprite:

[CCSprite spriteWithSpriteFrameName:@"XXX.png"]

target:self

selector:@selector(XXX:)];

 

반응형

'모바일 개발 > iOS' 카테고리의 다른 글

Cocos2d | CCAction 클래스  (0) 2020.02.20
Cocos2d | 이미지 관련 클래스  (0) 2020.02.20
Cocos2d | CCNode 클래스  (0) 2020.02.20
Cocos2d | 기초  (0) 2020.02.19
Cocos2d | 씬의 흐름  (0) 2020.02.19
iOS | iAP  (0) 2020.02.14
iOS | SDK 기초  (0) 2020.02.14
Cocoa | Core Graphics와 메모리관리  (0) 2020.02.14

댓글