2009-07-04 2 views

답변

21

사실,이 경우에 제안 할 것은 코어 애니메이션이거나 심지어 UIView 일뿐입니다. Core Graphics를 통해 단일 뷰에서 모든 요소를 ​​직접 그려보고 모든 애니메이션 프레임에 대해 해당 뷰를 새로 고치면 무서운 성능을 얻습니다.

게임 보드의 개별 요소 (조각, 카운터, 보드 스퀘어 등)를 개별 UIViews 또는 CALayers로 그린 다음 해당 레이어 나 뷰를 애니메이션으로 표현할 것을 제안합니다. UIViews는 CALayers보다 너무 무겁지 않으며 간단한 애니메이션, 스케일링 또는 페이딩 애니메이션을 수행하기 위해 Core Animation을 사용합니다. 또한 터치 이벤트에 응답 할 수 있습니다. CALayers는 더 많은 크로스 플랫폼 (Mac 및 iPhone) 게임을 만들거나 더 복잡한 애니메이션을해야하는 경우에 유용합니다.

2 차원 게임의 경우 Core Animation에서 원하는 성능을 얻을 수 없을 때까지 OpenGL을 사용하지 마십시오. OpenGL은 코딩하기에 훨씬 덜 우아합니다.

Core Animation을 사용하여 보드 게임을 수행하는 좋은 예를 보려면 Apple은 GeekGameBoard sample code을 제공했습니다. 그것은 Mac 응용 프로그램이지만 Core Animation 코드는 iPhone으로 바로 변환 할 수 있습니다.

3

OpenGL을 제대로 실행하면 더 잘 보일 것입니다. 그러나 그것이 어떻게 작동하는지 모르는 경우 CoreGraphics보다 훨씬 어려울 것이라는 것을 이해합니다.

그러나 익숙하지 않은 경우 CoreGraphics를 쉽게 받아 볼 수 있습니다. 저는 OpenGL에 대해 잘 모릅니다. 그래서 내가 게임을 만들 때, 나는 CoreGraphics에서 그것을 만들었고 꽤 좋았습니다.

+4

"OpenGL을 제대로 실행하면 더 좋아 보일 것입니다." 나는 그 의견에 완전히 동의하지 않는다. 아마도 앨리어싱 문제, 텍스처 필터링 문제 등을 미리 렌더링 된 부분에 포함시키지 않을 것입니다. 물론, 당신이 의미하는 바는 "3D 회전으로 더 인상적 일 것입니다."그렇습니다. – jv42

+0

OpenGL에서는 더 좋아 보이지 않습니다. 간단한 게임의 경우 CoreAnimation이 정상적으로 작동합니다. – bentford

3

원근감이 대부분 상단보기이고 사용자보기가 고정 된 위치에 있고 런타임 텍스처 매핑이나 특수 조명이 필요하지 않은 경우 핵심 그래픽이 더 쉬울 것입니다. 그렇지 않으면 OpenGL (또는 Unity와 같은 써드 파티 게임 제작 키트 중 하나를 사용하면 간단하게 만들 수 있습니다)과 함께 갈 것입니다.

정말 어떤 모양을 할 것인가에 달려 있습니다.

2

배가 고프지 않은 보드 게임의 경우 CoreGraphics로 이동하십시오. 더 높은 추상화 수준에서 일하는 사치를 얻습니다. 또한 애니메이션과 같이 손으로 직접 작성해야하는 몇 가지 사항을 얻을 수 있습니다. (추신 : 나는 2D에 대해 이야기하고 있다고 가정합니다.)

+2

CoreGraphics를 확인하십시오. 아주 적은 성능 문제로 동시에 20-30 개의 스프라이트 애니메이션을 쉽게 처리 할 수 ​​있습니다. 포토샵과 같은 도구를 사용하여 이미지를 다시 빌드 할 수 있으므로 수정하는 것이 더 빠릅니다. OpenGLES는 정말 멋진 카메라 움직임이나 정말 멋진 애니메이션을 원한다면 정말 멋지다. –

+0

당신도 확실히 OpenGL과 함께 당신의 소중한 포토샵을 사용할 수 있습니다. Apple은 UIImages를 OpenGL 텍스처로로드하는 코드를 제공합니다. –

6

iphone 용 cocos2d도 확인할 수 있습니다.이 게임은 꽤 완벽한 기능을 갖춘 2D 게임 라이브러리입니다. 그것은 타일 맵, 스프라이트, 시차, 스케쥴링 등을 가지고 있습니다. 저는 그것을 게임에 사용하고 있습니다.

http://code.google.com/p/cocos2d-iphone/

+0

Cocos2D를 사용하면 무거운 프레임 애니메이션으로 인해 블록을 치지 않습니다. 또한 멋진 입자 효과를 추가 할 수 있습니다. 배우고 결과를보기가 매우 쉽습니다. 장면 관리를 제공합니다. –

0

의 OpenGL. 장기적으로 볼 때 그만한 가치가있을 것입니다. 2D 곡선 스프레드에 대한 CoreGraphics 학습 곡선이 훨씬 더 쉽다고 생각했습니다.

2

확실히이 핵심 그래픽 및 핵심 애니메이션. Jeff LeMarche는 자신의 블로그에서 Black Jack 게임에 대한 샘플 템플릿을 제공합니다. 이제 막 Suduko 퍼즐을 완성했습니다. OpenGL이 플랫폼 게임에 사용하는 cocos2D까지는 그래픽을 향상 시키거나 향상시키지 않을 것입니다. 확실히 그래픽이 더 좋아 보이지는 않을 것입니다 -이 점에서 마음을 사로 잡을 수 있고 안전하다고 느끼고 멋지게 느껴질 것입니다. . Cocos2D를 배우는 것은 너무 많은 오버 헤드입니다. OpenGL ES를 배우는 것과 마찬가지입니다. 핵심 그래픽을 사용하고 거기서 빠져 나오십시오.물론 미래의 OpenGL ES에 대해서 알고있을 때까지 - 그러나 이것을 시도하기 전에 Apple의 "핵심"을 이해해야합니다.