2010-05-16 6 views
3

Plants vs Zombies를 사용 해본 적이 있다면 캐릭터 애니메이션이 얼마나 유동적이며 놀라운 지 알 수 있습니다. 아무도 그들이 어떻게하고 있다고 추측 할 수 있습니까? 단순히 비트 맵을 움직이는 것처럼 보이지 않습니다. 문자가 회전하고 크기가 조정되는 경우에도 애니메이션이 너무 선명합니다. 아트웍은 벡터처럼 보이지만 Core Graphics를 사용하여 모든 것을 끌어 낸다고 상상할 수는 없습니다. 어떤 아이디어?Fluid iPhone 애니메이션 ala 식물 대 좀비

답변

3

내 생각 엔 OpenGL. 코어 그래픽은 아이폰에서 그 정도의 수준으로 실시간 벡터 그래픽을 수행 할 수있는 성능을 가지고 있지 않다. PvZ 그래픽의 간단한보기에서, 나는 식물과 좀비의 신체 부위에 개별 비트 맵을 사용하고 있다고 생각한다. 예를 들어, peachooter는 아마도베이스, 거기에 붙어있는 몇 개의 잎, 머리와 줄기로 구성된다. "머리"밥처럼 앞뒤로 왜곡됩니다). 즉, 비트 맵 자체는 변하지 않습니다. 그들은 단지 서로 움직이게되고 서로에 대해 회전하게됩니다. 이것은 OpenGL이 이상적으로 적합한 것입니다.

1

사용자 입력 (예 : PvZ와 같은 게임)에 동적으로 반응하는보다 강렬하고 부드러운 그래픽을 만들고 싶다면 OpenGL이 완성되었습니다. Objective-C 런타임에서 오픈 루프 런 루프 (즉, 코어 애니메이션 및 UIKit 프로그래밍)에 세부 사항을 올렸을 때 이벤트 루프의 오버 헤드가 아니라 궁극적으로 사용자를 죽이는 이미지 및 그래픽의 동적 인 그림이 아닙니다.

0

CoreGraphics 및 스프라이트 시트를 사용하여 확실히 제거 할 수 있습니다.

1

다른 사람들도 언급했듯이 OpenGL 또는 OpenGL을 기반으로 실행되는 게임 엔진을 사용합니다.

이와 비슷한 결과를 얻으려면 cocos2d for iPhone을 사용하는 것이 좋습니다. OpenGL을 기반으로하지만 Objective-C를 사용하고 2D 게임을 대상으로합니다. 따라서 스프라이트 시트 지원, 파티클 시스템, 액션, 시각 효과 등을 제공합니다.