Come fare giochi utilizzando Python per i principianti

July 3

Come fare giochi utilizzando Python per i principianti


Python e la sua biblioteca sviluppo di giochi gratis, Pygame, gestire un sacco di dettaglio lavoro di sviluppo del gioco per voi, permettendo di concentrarsi sul design del gioco. Ancora, Crysis non è stato scritto in un giorno, quindi avrai bisogno per iniziare in cui i videogiochi stessi iniziato facendo un gioco come \ "Pong. \" Potrebbe non essere quello che sono sempre in game design da fare, ma vi insegnerà le basi e consentono di ottenere un gioco attivo e funzionante in fretta.

istruzione

1 Aprire stand-by, il default Python IDE dal menu Start di Windows. Fai clic su "File" e "Nuova Finestra". Salvare immediatamente il nuovo file e dargli il nome di "Ping.py."

2 Ottenere l'ambiente di gioco pronto. Digitare quanto segue nel file Ping.py:

os importazione, SYS
importazione pygame
da pygame.locals importare *

schermo = pygame.display.set_mode ((640.480))

Questo importazioni da Python comandi extra avrete bisogno di scrivere il vostro gioco e crea una nuova finestra per il vostro gioco per l'esecuzione in. Hit \ "F5 \" per eseguire il programma. In alternativa, fare clic su \ "Run \" e \ "Esegui modulo \" dal menu. Entrambi avranno lo stesso risultato - apparirà una finestra completamente trasparente sul desktop. Sarà larga 640 pixel e alta 480 pixel.

E andrà in crash e dare un messaggio di errore abbastanza rapidamente perché anche se la finestra è stata creata, nulla è stato fatto con esso.

3 Creare paddle del giocatore. Aggiungere il seguente codice al vostro gioco immediatamente sotto l'ultima sezione di codice:

PADDLE_WIDTH = 50
PADDLE_HEIGHT = 10
p1Paddle = pygame.Rect (10, 430, PADDLE_WIDTH, PADDLE_HEIGHT)

PADDLE_COLOR = pygame.color.Color ( "rosso")
SCREEN_COLOR = pygame.color.Color ( "nero")
ANDARE

Questo dice al computer di quanti pixel di larghezza e paddle del giocatore dovrebbe essere così come che colore dovrebbe essere. Si dice anche Python che si desidera la vostra pala per essere 10 pixel dal lato sinistro dello schermo e 430 pixel dalla parte superiore dello schermo. Ricordare, lo schermo è largo 640 pixel e alto 480 pixel, quindi la pala sarà sul lato sinistro dello schermo, in prossimità del fondo.

Inoltre, si definisce che lo schermo stesso avrà il colore nero.

4 Creare il disco. Digitare quanto segue nel vostro gioco:

puckSpeedX = 1
puckSpeedY = 1

PUCK_COLOR = pygame.color.Color ( "verde")
puck = pygame.Rect (320,240,10,10)

Questo dice al computer che colore il disco sarà e dove dovrebbe essere posizionato sullo schermo. In questo caso, sarà 320 pixel da sinistra e 240 pixel dall'alto. Sarà anche largo 10 pixel e alto 10 pixel.

Infine, dal momento che il disco si muove di propria volontà, ha bisogno di una velocità. Spesso in un gioco 2D come \ "Pong, \" è più facile dividere costi in quanto sia vasto un oggetto si muove orizzontalmente e quanto velocemente si muove in senso verticale. In questo caso, il disco si sposta orizzontalmente (X) ad una velocità di 1 e si sposta verticalmente (Y) ad una velocità di 1 anche.

5 Impostare il ciclo di gioco digitando:

while True:

p1Paddle.left = pygame.mouse.get_pos()[0]
puck.left = puck.left + puckSpeedX
puck.top = puck.top + puckSpeedY
screen.fill(SCREEN_COLOR)

ANDARE

screen.fill(PADDLE_COLOR, p1Paddle)
screen.fill(PUCK_COLOR, puck)
pygame.time.delay(10)

Andando riga per riga, il "while true" comando dice il gioco per continuare a correre a tempo indeterminato o fino a quando l'utente preme il pulsante "Chiudi" sulla sua finestra.

Successivamente, si dice al computer che paddle del giocatore deve essere nella stessa posizione sullo schermo, in orizzontale, rispetto al puntatore del mouse. In questo modo, il giocatore può seguire il disco spostando il suo mouse. Il disco stesso è spostato aggiungendo sua velocità X e Y alla sua posizione sullo schermo. Poi disegna lo sfondo dello schermo, paddle del giocatore e il disco, in questo ordine. Hit \ "F5 \" per eseguire il gioco.

Si noti problemi? Nessuno dei vostri grafici in fase di elaborazione sullo schermo. Quasi tutti i giochi moderni usano un trucco chiamato "double buffering" per disegnare sullo schermo. Questo significa che la grafica sono disegnati per la memoria e poi disegnato, tutto in una volta, alla schermata successiva. Senza il doppio buffering, grafica del gioco hanno l'abitudine di sfarfallio. A dire Python di scrivere in realtà la grafica allo schermo del computer, o "capovolgere il buffer", aggiungere la seguente riga al gioco:

pygame.display.flip ()
ANDARE

Premere il \ "F5 \" per eseguire il gioco. C'è ancora una bella grande difetto nel gioco: il disco vola solo attraverso la pagaia e fuori dallo schermo, come se non ci fosse.

6 Aggiungere rilevamento delle collisioni per il disco. Questo potrebbe richiedere un po 'di aggiornamento sulla matricola algebra. Aggiungere questo codice al ciclo di gioco:

if puck.colliderect(p1Paddle):
puckSpeedY = puckSpeedY * -1

se puck.top & lt; 0 o puck.bottom> 480:
puckSpeedY = puckSpeedY * -1

se puck.left & lt; 0 o puck.right> 640:
puckSpeedX = puckSpeedX * -1

Andando ad uno ad uno, prendere in considerazione quello che accade qui. Se il disco si scontra con pala del giocatore, quindi la sua velocità Y viene moltiplicato per meno-1. Quindi, se la velocità Y (ricordate, questo significa velocità verticale) è 1, è ora meno-1. Così si sta muovendo nella direzione opposta in senso verticale. Lo stesso accade se il disco colpisce la parte superiore o inferiore dello schermo. Infine, se il disco colpisce il lato sinistro o destro dello schermo, la sua velocità X (o la sua velocità orizzontale) è moltiplicato per meno-1. Hit \ "F5 \" per eseguire il gioco e vedere l'effetto.