Pergunta

Quero fazer alguns jogos/clones 2D simples (para Mac), mas tenho algumas perguntas:

  • Devo usar Quartzo 2d ou Opengl (Eu não pretendo experimentar 3D tão cedo)
  • Parece haver muitas coisas digitadas como CGFLOAT/GLFLOAT, que devo usar?
  • Devo usar o Objective-C para o jogo também (aulas) ou apenas C? (Suponho que usarei o Objective-C e o cacau para janelas e vistas.)
  • É bom redesenhar toda a vista a cada vez? Eu realmente não entendo como funciona o parâmetro DirtyRect do NSView, como ele sabe o que eu quero atualizar?
  • Existem bons tutoriais para isso?

Obrigado.

Foi útil?

Solução

Quartzo ou Animação Core vs. OpenGL realmente depende do que você está tentando fazer. Se você deseja desenho e animação simples, use quartzo ou ca. Se você deseja jogos rápidos/poderosos, use o OpenGL. Eventualmente, eu sugiro aprender os dois.

Para as coisas digitadas, use o que se destina ao sistema específico que você está usando. Para quartzo/ca/cg, use CGFLOAT. Para o OpenGL, use Glfloat.

Objective-C vs. C também depende da velocidade que você deseja. O Objective-C acrescenta um pouco de sobrecarga, mas (obviamente) permitirá que você crie jogos muito mais orientados a objetos. Eu sugiro usar o Objective-C se você usar o quartzo e a animação do núcleo e o Obj-C ou C se estiver usando o OpenGL. No entanto, se você está fazendo isso em um Mac (por exemplo, não para iPhone), provavelmente não verá muita diferença, a menos que esteja fazendo um desenho rápido complexo.

Não tenho muita certeza sobre o drawrect, mas essa questão tem algumas informações que podem responder a essa pergunta para você.

Para uma introdução ao quartzo, eu recomendo este tutorial, e eu sempre ouvi o Tutoriais nehe Recomendado para o OpenGL.

Outras dicas

Se você usar o SDL com o Cairo ou o OpenGL, obterá praticamente o mesmo modelo de programação, mas obtém compatibilidade de plataforma cruzada virtualmente gratuitamente. Você deve até continuar usando o objetivo C para a maior parte do jogo, se quiser.

Quão graficamente intensivo você deseja obter? O Cairo provavelmente será mais fácil de continuar por 2D.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top