Domanda

Voglio fare alcuni semplici giochi 2D / cloni (per Mac), ma ho alcune domande:

  • Dovrei usare Quartz 2D o OpenGL (non ho intenzione di provare 3D in qualunque momento presto)
  • Sembra che ci sia un sacco di cose come typedef CGFloat / GLfloat, che devo usare?
  • Devo utilizzare Objective-C per il gioco troppo (classi) o semplicemente C? (Presumo userò Objective-C e Cocoa per la finestra e la vista.)
  • E 'bene di ridisegnare l'intera vista di volta in volta? Io non capisco come funziona parametro -drawRect dirtyRect del NSView, come fa a sapere cosa voglio aggiornare?
  • Ci sono buoni tutorial per questo?

Grazie.

È stato utile?

Soluzione

quarzo o Core Animation vs. OpenGL dipende veramente quello che stai cercando di fare. Se si vuole semplice disegno e l'animazione, utilizzare al quarzo o CA. Se si desidera che i giochi veloci / potenti, utilizzare OpenGL. Alla fine Io suggerirei di apprendimento sia.

Per le cose typedef, a seconda di quale uso si intende per il sistema specifico che si sta utilizzando. Per quarzo / CA / CG, utilizzare CGFloat. Per OpenGL, utilizzare GLfloat.

Objective-C vs C dipende anche dalla velocità che si desidera. Objective-C aggiunge un po 'di testa, ma sarà (ovviamente) permetterà di creare molto di più giochi orientati agli oggetti. Io suggerirei usando Objective-C se si utilizza Quartz e Core Animation, e sia Obj-C o C se si utilizza OpenGL. Tuttavia, se si sta facendo questo su un Mac (ad esempio, non per iPhone), probabilmente non vedere molta differenza a meno che non si sta facendo complesso disegno veloce.

Non sono del tutto sicuro di drawRect, ma questa domanda ha alcune informazioni che può rispondere a questa domanda per voi.

Per un'introduzione al quarzo, io consiglierei di questo tutorial , e ho sempre sentito il NeHe tutorial consigliato per OpenGL.

Altri suggerimenti

Se si utilizza SDL sia con Cairo o OpenGL, si ottiene praticamente lo stesso modello di programmazione, ma si ottiene la compatibilità cross-platform praticamente gratis. Si dovrebbe anche essere in grado di continuare ad utilizzare obiettivo C per la maggior parte del gioco, se si vuole.

Come graficamente intensivo vuoi ottenere? Il Cairo sarà probabilmente più facile solo andare avanti con la 2D.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top