Pygame
Ver Más instrucciones
1
Abrir inicio, el valor por defecto de Python IDE desde el menú Inicio de Windows. Haga clic en " Archivo" y " Nueva Ventana ". Guarde inmediatamente el nuevo archivo y póngale el nombre " Ping.py. "
2
Cómo el entorno del juego listo . Escriba lo siguiente en su archivo Ping.py :
import os , sysimport pygamefrom pygame.locals import *
pantalla
pygame.display.set_mode = ( ( 640480 ))
Esto importa de comandos adicionales Python tendrás que escribir tu juego y crea una nueva ventana para su juego de correr pulg Haga clic en " F5 " para ejecutar el programa. Alternativamente , haga clic en "Ejecutar" y "Run Module" en el menú. Ambos tendrán el mismo resultado - aparecerá una ventana completamente transparente en el escritorio. Será 640 píxeles de ancho por 480 píxeles de alto.
Y se estrellará y le dará un mensaje de error con bastante rapidez , porque a pesar de que se ha creado la ventana, no se hizo nada con ella.
3
Crear paleta del jugador. Agregue el siguiente código a su juego inmediatamente por debajo de la última sección del código:
PADDLE_WIDTH = 50PADDLE_HEIGHT = 10p1Paddle = pygame.Rect ( 10 , 430, PADDLE_WIDTH , PADDLE_HEIGHT )
PADDLE_COLOR = pygame.color . color ( "red" ) SCREEN_COLOR = pygame.color.Color ( " negro ");
Esto le dice a la computadora el número de píxeles de ancho y alto paleta del jugador debe ser, así como de qué color debe ser. También le dice a Python que desea su raqueta para ser 10 píxeles desde la parte izquierda de la pantalla y 430 píxeles desde la parte superior de la pantalla. Recuerde, la pantalla es de 640 píxeles de ancho por 480 píxeles de alto , por lo que la paleta estará en el lado izquierdo de la pantalla, en la parte inferior .
Asimismo, se define que la propia pantalla tendrá el color negro .
4
Crear el disco . Escriba lo siguiente en su juego :
puckSpeedX = 1puckSpeedY = 1
PUCK_COLOR = pygame.color.Color ( "verde") puck = pygame.Rect ( 320,240,10,10 )
Esto le dice a la computadora qué color será el disco y dónde debe estar ubicado en la pantalla. En este caso , será 320 píxeles de los píxeles a la izquierda y 240 de la parte superior . También será de 10 píxeles de ancho por 10 píxeles de alto.
Último, dado que el disco se mueve de su propia voluntad , se necesita una velocidad . A menudo, en un juego en 2D como " Pong , " es más fácil de dividir las velocidades en la forma vasta un objeto se mueve horizontalmente y la rapidez con que se mueve verticalmente . En este caso, el disco se moverá horizontalmente ( X) a una velocidad de 1 y se mueve verticalmente ( Y) a una velocidad de 1 también
5
Configure el bucle de juego tecleando: .
mientras verdadero : 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 )
línea que va por la línea , el " tiempo real " comando le indica el juego para seguir funcionando indefinidamente o hasta que el usuario pulsa la " Cerrar " en su ventana.
A continuación , le dice a la computadora que remar del jugador debe estar en el mismo lugar de la pantalla , en horizontal , que el puntero del ratón. De esta manera , el jugador puede seguir el disco moviendo su ratón . El disco en sí se mueve mediante la adición de sus X y velocidades Y a su posición en la pantalla . Luego se dibuja el fondo de pantalla , paddle del jugador y el disco, en ese orden. Presiona " F5 " para ejecutar el juego .
Nota algún problema ? Ninguno de los gráficos que se dibuja en pantalla . Casi todos los juegos modernos utilizan un truco llamado "double buffering " para llamar a la pantalla . Esto significa que los gráficos se dibujan en la memoria primero y luego dibujado , todos a la vez , a la pantalla más tarde . Sin búfer doble , gráficos del juego tienen la costumbre de parpadeo. A decir Python para escribir realmente los gráficos para la pantalla del ordenador , o " voltear la memoria intermedia ", añada la siguiente línea al juego:
pygame.display.flip ();
Prensa " F5 "para ejecutar el juego. Todavía queda bastante grande falla en el juego: el disco pasa volando a través de la paleta y fuera de la pantalla , como si no estuviera allí
6
Agregar detección de colisiones para el disco . . Esto puede requerir un poco de repaso de álgebra de primer año. Añade este código en su bucle de juego :
si puck.colliderect ( p1Paddle ) : puckSpeedY = puckSpeedY * -1
si puck.top < 0 o puck.bottom > 480: puckSpeedY = puckSpeedY * -1
si puck.left < 0 o puck.right > 640: puckSpeedX = puckSpeedX * -1
ir uno por uno , considere lo que pasa aquí . Si choca disco con paletas del jugador, entonces su velocidad Y se multiplica por minus - 1 . Por lo tanto , si la velocidad Y (recuerda , esto significa velocidad vertical ) era 1 , es ahora menos- 1 . Por lo tanto, se está moviendo en la dirección exactamente opuesta verticalmente . Lo mismo sucede si el puck golpea en la parte superior o inferior de la pantalla . Y, finalmente , si el disco golpea el lado izquierdo o derecho de la pantalla , su velocidad de X (o su velocidad horizontal ) se multiplica por menos- 1 . Presiona " F5 " para ejecutar el juego y ver el efecto.