Domanda

Voglio sviluppare un gioco 2D molto semplice in Python. Pygame è la libreria più popolare per lo sviluppo di giochi in Python, ma ho già molta familiarità con wxPython e mi sento a mio agio nell'usarlo. Ho persino scritto un Clone di Tetris in esso, ed è stato abbastanza fluido.

Mi chiedo, cosa offre Pygame in termini di grafica (lasciando il suono da parte, per un momento) che wxPython non può fare? È in qualche modo più semplice / veloce fare grafica in Pygame che in wxPython? È ancora più multipiattaforma?

Sembra che mi manchi qualcosa qui, ma non so cosa.

È stato utile?

Soluzione

Beh, in teoria non c'è niente che tu possa fare con Pygame che non puoi fare con wxPython. Il punto non è cosa ma come. Secondo me, è più facile scrivere un gioco con PyGame perché:

  • È più veloce. Pygame è basato su SDL che è una libreria C appositamente progettata per i giochi, è stata sviluppata pensando alla velocità. Quando sviluppi giochi, hai bisogno di velocità.

  • È una libreria di giochi, non una tela per scopi generici, ha classi e funzioni utili per sprite, trasformazioni, gestione degli input, disegno, rilevamento delle collisioni. Implementa inoltre algoritmi e tecniche spesso utilizzati in giochi come rettangoli sporchi, sfogliare le pagine, ecc.

  • Ci sono migliaia di giochi ed esempi fatti con esso. Sarà più facile per te scoprire come fare qualsiasi trucco.

  • Esistono molte librerie con effetti e utilità che potresti riutilizzare. Vuoi un gioco isometrico, c'è una biblioteca, vuoi un motore fisico, c'è una biblioteca, tu che effetto visivo interessante, c'è una biblioteca.

  • PyWeek . :) Questo per rendere lo sviluppo del tuo gioco ancora più divertente!

Per alcuni giochi molto semplici come Tetris, la differenza non sarà eccessiva, ma se vuoi sviluppare un gioco abbastanza complesso, credimi, vorrai qualcosa come PyGame.

Altri suggerimenti

wxPython si basa su wxWidgets che è un toolkit orientato alla GUI. Ha il vantaggio di utilizzare gli stili e le decorazioni forniti dal sistema su cui gira e quindi è molto facile scrivere applicazioni portatili che si integrano perfettamente nell'aspetto e nell'aspetto di qualunque cosa tu stia eseguendo. Vuoi una casella? Usa wxCheckBox e wxPython gestirà l'aspetto e l'interazione.

pyGame, d'altra parte, è orientato allo sviluppo del gioco e quindi ti avvicina all'hardware in modi in cui wxPython non lo fa (e non è necessario, dal momento che chiama il sistema operativo per disegnare la maggior parte dei suoi controlli). pyGame ha molte cose legate al gioco come il rilevamento delle collisioni, il controllo accurato di superfici e strati o il lancio di buffer di visualizzazione al momento della tua scelta.

Detto questo, per quanto riguarda la grafica probabilmente puoi sempre trovare un modo per fare ciò che vuoi con entrambi i toolkit. Tuttavia, quando la velocità conta o desideri implementare graficamente più idee di gioco faticose rispetto a Tetris, probabilmente stai meglio con pyGame. Se vuoi usare molti elementi della GUI e non hai bisogno delle fantasiose funzioni grafiche e audio, stai meglio con wxPython.

La portabilità non è un problema. Entrambi sono disponibili per i tre grandi (Linux, OSX, Windows).

È più una questione di che tipo di capacità speciali hai davvero bisogno.

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