iPhone 용 보드 게임 (체커와 유사)을 프로그래밍하고 싶습니다. OpenGL ES 또는 CoreGraphics가 더 나은 옵션일까요? App Store에서이 유형의 게임 중 대부분은 무엇을 사용합니까?iPhone 보드 게임 : OpenGL ES 또는 CoreGraphics?
답변
사실,이 경우에 제안 할 것은 코어 애니메이션이거나 심지어 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으로 바로 변환 할 수 있습니다.
OpenGL을 제대로 실행하면 더 잘 보일 것입니다. 그러나 그것이 어떻게 작동하는지 모르는 경우 CoreGraphics보다 훨씬 어려울 것이라는 것을 이해합니다.
그러나 익숙하지 않은 경우 CoreGraphics를 쉽게 받아 볼 수 있습니다. 저는 OpenGL에 대해 잘 모릅니다. 그래서 내가 게임을 만들 때, 나는 CoreGraphics에서 그것을 만들었고 꽤 좋았습니다.
원근감이 대부분 상단보기이고 사용자보기가 고정 된 위치에 있고 런타임 텍스처 매핑이나 특수 조명이 필요하지 않은 경우 핵심 그래픽이 더 쉬울 것입니다. 그렇지 않으면 OpenGL (또는 Unity와 같은 써드 파티 게임 제작 키트 중 하나를 사용하면 간단하게 만들 수 있습니다)과 함께 갈 것입니다.
정말 어떤 모양을 할 것인가에 달려 있습니다.
배가 고프지 않은 보드 게임의 경우 CoreGraphics로 이동하십시오. 더 높은 추상화 수준에서 일하는 사치를 얻습니다. 또한 애니메이션과 같이 손으로 직접 작성해야하는 몇 가지 사항을 얻을 수 있습니다. (추신 : 나는 2D에 대해 이야기하고 있다고 가정합니다.)
CoreGraphics를 확인하십시오. 아주 적은 성능 문제로 동시에 20-30 개의 스프라이트 애니메이션을 쉽게 처리 할 수 있습니다. 포토샵과 같은 도구를 사용하여 이미지를 다시 빌드 할 수 있으므로 수정하는 것이 더 빠릅니다. OpenGLES는 정말 멋진 카메라 움직임이나 정말 멋진 애니메이션을 원한다면 정말 멋지다. –
당신도 확실히 OpenGL과 함께 당신의 소중한 포토샵을 사용할 수 있습니다. Apple은 UIImages를 OpenGL 텍스처로로드하는 코드를 제공합니다. –
iphone 용 cocos2d도 확인할 수 있습니다.이 게임은 꽤 완벽한 기능을 갖춘 2D 게임 라이브러리입니다. 그것은 타일 맵, 스프라이트, 시차, 스케쥴링 등을 가지고 있습니다. 저는 그것을 게임에 사용하고 있습니다.
Cocos2D를 사용하면 무거운 프레임 애니메이션으로 인해 블록을 치지 않습니다. 또한 멋진 입자 효과를 추가 할 수 있습니다. 배우고 결과를보기가 매우 쉽습니다. 장면 관리를 제공합니다. –
의 OpenGL. 장기적으로 볼 때 그만한 가치가있을 것입니다. 2D 곡선 스프레드에 대한 CoreGraphics 학습 곡선이 훨씬 더 쉽다고 생각했습니다.
확실히이 핵심 그래픽 및 핵심 애니메이션. Jeff LeMarche는 자신의 블로그에서 Black Jack 게임에 대한 샘플 템플릿을 제공합니다. 이제 막 Suduko 퍼즐을 완성했습니다. OpenGL이 플랫폼 게임에 사용하는 cocos2D까지는 그래픽을 향상 시키거나 향상시키지 않을 것입니다. 확실히 그래픽이 더 좋아 보이지는 않을 것입니다 -이 점에서 마음을 사로 잡을 수 있고 안전하다고 느끼고 멋지게 느껴질 것입니다. . Cocos2D를 배우는 것은 너무 많은 오버 헤드입니다. OpenGL ES를 배우는 것과 마찬가지입니다. 핵심 그래픽을 사용하고 거기서 빠져 나오십시오.물론 미래의 OpenGL ES에 대해서 알고있을 때까지 - 그러나 이것을 시도하기 전에 Apple의 "핵심"을 이해해야합니다.
- 1. OpenGL ES iPhone Textures
- 2. OpenGL 또는 OpenGL ES
- 3. 캔버스 또는 OpenGL ES?
- 4. glScissor help (iPhone OpenGL ES)
- 5. iPhone OpenGL-ES : UISwipeGestureRecognizer
- 6. IPhone OpenGL ES 하나 또는 여러 개의보기?
- 7. iPhone : Quartz2d vs. OpenGL ES
- 8. iPhone OpenGL ES 1.1 게임을 어떻게 구성해야합니까?
- 9. iPhone OpenGL ES Texture2D 마스킹
- 10. iOS OpenGL 또는 CoreGraphics 부드러운 직사각형 그리기
- 11. 품질 향상 OpenGL ES 스크린 샷 (iPhone)
- 12. Android OpenGL-ES 3D 게임 최적화
- 13. OpenGl ES iPhone, 이상한 라인
- 14. iPhone OpenGL-ES 비디오 텍스처
- 15. OpenGL ES 1.1에서 OpenGL ES 2.0으로 전환
- 16. OpenGL ES 깊이 버퍼
- 17. iPad 또는 iPhone이 OpenGL ES 2.0을 지원합니까?
- 18. OpenGL-ES 퍼즐 게임 - 드로잉 배터리를 효율적으로 만드시겠습니까?
- 19. iPhone 타일 기반 게임 보드 질문
- 20. iPhone에서 OpenGL ES 1.1 또는 2.0
- 21. OpenGL-ES 로의 OpenGL - glBegin();
- 22. Iphone 게임 개발
- 23. iPhone 용 OpenGL ES 2.0 예제가 있습니까?
- 24. iPhone 시뮬레이터 : OpenGL ES : 내부 텍스처 형식
- 25. OpenGL ES 인스트루먼트의 정확성
- 26. iPhone OpenGL ES 용 PNG 파일
- 27. iPhone 용 OpenGL ES 강조 표시 알고리즘
- 28. JPEG 용 iPhone OpenGL ES 텍스처 파이프
- 29. iPhone OpenGL ES 잘못된 알파 블렌딩
- 30. iPhone OpenGL ES 2.0 - 픽셀 완벽한 텍스처
"OpenGL을 제대로 실행하면 더 좋아 보일 것입니다." 나는 그 의견에 완전히 동의하지 않는다. 아마도 앨리어싱 문제, 텍스처 필터링 문제 등을 미리 렌더링 된 부분에 포함시키지 않을 것입니다. 물론, 당신이 의미하는 바는 "3D 회전으로 더 인상적 일 것입니다."그렇습니다. – jv42
OpenGL에서는 더 좋아 보이지 않습니다. 간단한 게임의 경우 CoreAnimation이 정상적으로 작동합니다. – bentford