2010-06-16 4 views

답변

1

저는 몇 주 동안 작은 아이소 메트릭 3D 게임을 해왔습니다. 나는 처음에 CA를 사용했지만 OpenGL로 전환했습니다. 나를 위해 추론 따라서이었다

  • 전환 나는 3D
  • 내가 코코아도 어떤의 Obj-C 내 코드에 구축, 그것은 순수한 C를 사용하지 않는
  • OpenGL을하고 있어요 점을 고려 의미가 있습니다 다른 플랫폼에서 약간 다른 래퍼만으로 응용 프로그램을 테스트 할 수 있습니다.

저에게는 이것이 OpenGL의 가치있는 투자입니다.

YMMV

+0

좋은 지적. 여전히, '낙서 점프'와 같은 2 차원 게임을 만드는 것은 반드시 OpenGL을 필요로하지 않습니까? 나는 게임을 만들고 싶다. 나는 이것을 배우기 시작한 것이므로 처음부터 어디에서 시작해야하는지 궁금합니다. CA or OpenGL –

+0

정말 미래에 어디로 가고 싶은지에 달려 있습니다. 이 게임이 단일 게임이고 게임 개발에 관심이 없다면 CA로 이동하십시오. 궁극적으로보다 복잡한 게임을 개발하고 싶다면 OpenGL을 배우는 것이 미래에 확실히 도움이되는 재미 있고 보람있는 경험입니다. – ivans

1

이건 내 개인적인 의견, 내가 CA와 함께 게임을 생각되어 복잡하다. OpenGL을 권장합니다.

OpenGL 기반 프로젝트에서 요소를 수동으로 그려서 프레임별로 요소를 이동하여 애니메이션을 만들어야합니다. CA보다 약간 긴 코드가 필요하지만 화면 및 게임 상태를 쉽게 동기화 할 수 있습니다. CA를 사용할 때 그래픽과 게임을 엄격하게 동기화하기가 어렵습니다.

물론 OpenGL의 성능은 CA보다 훨씬 뛰어납니다. 그리고 OpenGL을 배우는 것이 그리 어렵지 않습니다!

0

OpenGL 및 iphone 개발에 대한 기존 경험이 없으면 가장 쉬운 학습 곡선을 제공 할 것이므로 석영을 사용하여 기본 게임을 시작하는 것이 좋습니다. 당신의 필요에 따라, 심지어 최종 게임을 위해 충분히 잘 수행 할 수도 있습니다.

다음은 단일 스프라이트를 30fps 애니메이션 루프로 렌더링하는 간단한 사용자 정의보기입니다.

@interface GameView : UIView{ 
    NSTimer* animTimer; 
    UIImage* sprite; 
} 
- (void)animate:(NSTimer*)theTimer; 
@end 

@implementation GameView 
    - (id)initWithFrame:(CGRect)frame { 
    if((self=[super initWithFrame:frame])){ 
     sprite=[[UIImage imageNamed:@"sprite.png"] retain]; 
     animTimer=[[NSTimer scheduledTimerWithTimeInterval:1.0/30.0 
     target:self selector:@selector(animate:) 
     userInfo:nil repeats:YES] retain]; 
    } 
    return self; 
    } 

    - (void)animate:(NSTimer*)theTimer{ 
    [self setNeedsDisplay]; 
    } 

    - (void)drawRect:(CGRect)rect { 
    [sprite drawAtPoint:CGPointMake(0,0)]; 
    } 
@end 
관련 문제