Apri stand-by, il default Python IDE dal menu Start di Windows . Fare clic su "File" e " Nuova finestra ". Salvare immediatamente il vostro nuovo file e dargli il nome di " Ping.py. "
2
Scarica l'ambiente di gioco pronto . Digitare quanto segue nel file Ping.py :
import os , sysimport pygamefrom pygame.locals import * schermo
= pygame.display.set_mode ( ( 640.480 ) ) per
questo importazioni da Python comandi extra avrete bisogno di scrivere il vostro gioco e crea una nuova finestra per il vostro gioco di correre dentro Hit "F5" per eseguire il programma . In alternativa , fare clic su " Esegui " e " Run Module" dal menu. Entrambi avranno lo stesso risultato - si apre una finestra completamente trasparente sul desktop. Sarà 640 pixel di larghezza e 480 pixel di altezza .
E si andrà in crash e darà un messaggio di errore abbastanza rapidamente perché, anche se la finestra è stata creata , nulla è stato fatto con esso .
3
Creare pagaia del giocatore. Aggiungere il seguente codice al vostro gioco immediatamente sotto l'ultima sezione del codice :
PADDLE_WIDTH = 50PADDLE_HEIGHT = 10p1Paddle = pygame.Rect ( 10 , 430 , PADDLE_WIDTH , PADDLE_HEIGHT ) per
PADDLE_COLOR = pygame.color . colore ( "rosso" ) SCREEN_COLOR = pygame.color.Color ( " nero " ) ;
Questo dice al computer come molti pixel paddle del giocatore di larghezza e deve essere così come di che colore dovrebbe essere. Si dice anche Python che si desidera la vostra pala per essere di 10 pixel dal lato sinistro dello schermo e di 430 pixel dalla parte superiore dello schermo . Ricordate, lo schermo è 640 pixel di larghezza e 480 pixel in alto, così la paletta sarà sul lato sinistro dello schermo , vicino al fondo .
Inoltre , si definisce che lo schermo stesso avrà il colore nero .
4
Creare il puck . Digitare quanto segue nel vostro gioco :
puckSpeedX = 1puckSpeedY = 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 trovarsi sullo schermo. In questo caso , sarà 320 pixel da sinistra e 240 pixel dall'alto. Sarà anche 10 pixel di larghezza e 10 pixel di altezza .
Infine, dato che il disco si muove di sua volontà , ha bisogno di una velocità . Spesso in un gioco in 2D , come " Pong ", è più facile dividere le velocità in quanto vasto un oggetto si muove orizzontalmente e quanto velocemente si muove verticalmente. In questo caso , il disco si sposta orizzontalmente ( X) ad una velocità di 1 e di un movimento verticale ( Y ) con 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 + puckSpeedXpuck.top = puck.top + puckSpeedYscreen.fill ( SCREEN_COLOR ) ; screen.fill ( PADDLE_COLOR , p1Paddle ) screen.fill ( PUCK_COLOR , puck) pygame.time.delay ( 10 ) per
Andando linea per linea , il " while True " comando dice al gioco di continuare a correre a tempo indeterminato o fino a quando l'utente preme il " Chiudi " sulla sua finestra .
Avanti , si dice al computer che la pala del giocatore dovrebbe essere nella stessa posizione sullo schermo, in orizzontale , che il puntatore del mouse . In questo modo , il giocatore può seguire il disco spostando il suo mouse . Il disco si è mosso con l'aggiunta di sue velocità X e Y per la sua posizione sullo schermo. Poi si disegna lo sfondo dello schermo , paddle del giocatore e il disco , in questo ordine. Hit "F5" per eseguire il gioco .
Noti problemi? Nessuno dei vostri grafici viene disegnato sullo schermo . Quasi tutti i giochi moderni usano un trucco chiamato " double buffering " per disegnare sullo schermo . Questo significa che la grafica sono attratti memoria e poi disegnato , tutto in una volta , alla schermata successiva . Senza il doppio buffering , grafica di gioco hanno l'abitudine di sfarfallio . Per dire a Python per scrivere effettivamente la grafica allo schermo del computer , o di " capovolgere il buffer ", aggiungere la seguente riga al gioco :
pygame.display.flip ();
Press " F5 "per eseguire il gioco . C'è ancora un bel grande difetto del gioco : il disco vola solo attraverso la pagaia e fuori dallo schermo , come se non ci fosse
6
Aggiungi rilevamento delle collisioni per il disco . . Questo potrebbe richiedere un po 'di ripasso sulla matricola algebra . Aggiungi questo codice al ciclo di gioco :
se puck.colliderect ( p1Paddle ) : puckSpeedY = puckSpeedY * -1
se puck.top < 0 o puck.bottom > 480 : puckSpeedY = puckSpeedY * -1
se puck.left < 0 o puck.right > 640 : puckSpeedX = puckSpeedX * -1
Andando ad uno ad uno , considerare ciò che accade qui . Se si scontra puck con paddle 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 . Quindi si sta muovendo nella direzione esattamente opposta verticalmente . Lo stesso accade se il disco colpisce la parte superiore o inferiore dello schermo . E infine, se il disco colpisce il lato sinistro o destro della schermata , la sua velocità X ( o la sua velocità orizzontale ) viene moltiplicata per meno - 1 . Hit "F5" per eseguire il gioco e vedere l'effetto .
Programmazione © www.354353.com