Saltar al contenido

Como Crear un Certificado SSL en Apache para Ubuntu 14.04

marzo 4, 2020

 

Introducción

La biblioteca pygame es un módulo de código abierto para el lenguaje de programación Python destinados específicamente para ayudarle a hacer juegos y otras aplicaciones multimedia. Construido en la parte superior de la biblioteca SDL desarrollo altamente portátil (Simple DirectMedia Layer), pygame puede ejecutar en muchas plataformas y sistemas operativos.

Al utilizar el módulo de pygame, se puede controlar la lógica y los gráficos de los juegos sin tener que preocuparse acerca de las complejidades de respaldo requerido para trabajar con vídeo y audio.

Este tutorial primero pasar por la instalación de pygame en su entorno de programación Python, y luego caminar a través de la creación de una plantilla para desarrollar juegos con pygame y Python 3. Requisitos previos

Para poder utilizar este tutorial, asegúrese de que tiene Python 3 y un entorno de programación ya instalado en su ordenador o servidor local.

También debe estar familiarizado con los siguientes conceptos de programación Python:

  • módulos variables
  • mientras que los operadores lógicos bucles
  • para bucles declaraciones
  • condicionales
  • booleanas

Con un entorno de programación de configuración y una Importación familiaridad con la programación de Python ya está listo para comenzar a trabajar con pygame. de

pygame Instalación

Que comience mediante la activación de nuestro entorno de programación Python 3:

. my_env/bin/activate

  • . my_env / bin / activar

Con esta activada, se puede instalar pygame con pip:

pip install pygame

  • PIP instalar pygame

Una vez que se ejecuta este comando, debería ver una salida que se parece a lo siguiente:

OutputCollecting pygame
Using cached pygame-1.9.3-cp35-cp35m-manylinux1_x86_64.whl
Installing collected packages: pygame
Successfully installed pygame-1.9.3

Si ha instalado pygame en un sistema con vídeo y audio disponible, se puede verificar la instalación ejecutando el siguiente comando, que se desarrollará un lucimiento juego de simulacro de lo que pygame puede hacer con gráficos y sonido:

python -m pygame.examples.aliens

  • python -m pygame.examples .aliens

Si prefiere no abrir la muestra, o si usted no tiene AV como parte de su configuración, también puede entrar en la consola Python interactiva para asegurar que se puede importar el módulo de pygame. En primer lugar, escriba el comando python para iniciar la consola:

python

  • pitón

Luego, dentro de la consola que se puede importar el módulo:

import pygame

  • importación pygame

Si recibe ningún error al golpear la tecla ENTER después de la comando, se sabrá que pygame se ha instalado correctamente. Puede salir de la consola Python interactiva con el comando quit ().

Si tiene problemas con la instalación de la línea de comandos, se puede extraer gettingstarted wiki de pygame.

En los pasos más adelante, estaremos suponiendo el uso de un monitor para mostrar la interfaz gráfica de usuario como parte de este tutorial para verificar nuestro código.

Importación de pygame

Para familiarizarse con pygame, vamos a crear un archivo llamado our_game.py, que podemos crear con el editor de textos nano, por ejemplo:

nano our_game.py

  • nano our_game.py

Al comenzar un proyecto en pygame, comenzará con la declaración de importación se utiliza para los módulos, los cuales se pueden agregar en la parte superior de su archivo de importación:

import pygame

también podemos añadir opcionalmente otra declaración de importación por debajo de la primera línea para añadir algunas de las constantes y funciones de pygame en el espacio de nombres global de su archivo:

import pygame
from pygame.locals import *

con pygame importados en nuestro archivo de programa, estamos listos para utilizarlo para crear una plantilla de juego.

Inicializando PyGame

A partir de aquí, vamos a inicializar las funciones de pygame con la función init (), que es la abreviatura de “inicialización”.

import pygame
from pygame.locals import *

pygame.init()

La función init () se iniciará automáticamente todos los módulos de pygame que necesita inicializado.

También puede inicializar cada uno de los módulos de pygame de forma individual, como en:

pygame.font.init()

La función init () devolverá una tupla a usted si le gustaría. Esta tupla mostrará inicialización con y sin éxito. Podemos hacer esto tanto para el init general () llamada y para la inicialización de los módulos específicos (que nos mostrará si estos módulos están disponibles):

i = pygame.init()
print(i)

f = pygame.font.init()
print(f)

Si corremos el código anterior, vamos a recibir una salida similar a la siguiente:

Output(6, 0)
None

En este caso, la variable i volvió la tupla (6, 0), que muestra que hubo 6 inicializaciones pygame exitosos y 0 fracasos. La variable f volvió Ninguna, lo que indica que el módulo no está disponible dentro de este entorno particular.

Ajuste de la visualización de la superficie

A partir de aquí, tenemos que configurar nuestra superficie de la pantalla de juego. Vamos a utilizar pygame.display.set_mode () para inicializar una ventana o pantalla para la visualización y pasarlo a una variable. En la función, pasaremos un argumento para la resolución de pantalla que es un par de números que representan anchura y altura en una tupla. Vamos a añadir esta función en nuestro programa:

import pygame
from pygame.locals import *

pygame.init()

game_display = pygame.display.set_mode((800, 600))

Pasamos la tupla (800, 600) como el argumento de la función set_mode (), de pie para la resolución de la anchura (800 píxeles) y la altura (600 píxeles). Tenga en cuenta que la tupla está contenida dentro de paréntesis de la función, por lo que hay paréntesis dobles en la función anterior.

Es probable que se utiliza los números enteros para la resolución de su juego a menudo, por lo que es probable que desee asignar esos números a las variables en lugar de utilizar los números y otra vez. Esto puede hacer que sea más fácil cuando se tiene que modificar su programa, ya que sólo tendrá que modificar lo que se pasa a las variables.

Usaremos la variable display_width para el ancho de la pantalla de nuestro juego, y display_height para la altura, y pasan esas variables a la set_mode () Función:

import pygame
from pygame.locals import *

pygame.init()

display_width = 800
display_height = 600

game_display = pygame.display.set_mode((display_width, display_height))

En este punto la superficie de la pantalla de juego está configurado con una resolución por su anchura y altura.

Actualización de la pantalla

A continuación, tendremos que utilizar una de las dos funciones disponibles para actualizar la visualización de la superficie de juego.

animaciones son generalmente cambia entre los diferentes marcos de tiempo. Es posible pensar en un libro de tapa cuando se piensa en las animaciones, ya que consisten en una serie de imágenes que varían gradualmente de una página a la página siguiente. Estas páginas dan la simulación de movimiento cuando se da la vuelta a través rápidamente, ya que el contenido de la página parecen estar en movimiento. En los juegos de ordenador, las tramas se utilizan en lugar de las páginas.

Debido al concepto de pasar las páginas o marcos, una de las funciones que se pueden utilizar para actualizar la visualización de la superficie de juego se llama flip (), y se puede llamar en nuestro archivo por encima de este modo:

pygame.display.flip()

El flip () función actualiza toda la superficie de la pantalla a la pantalla.

Con más frecuencia, la función de actualización () se utiliza en lugar de la función del tirón () porque va a actualizar sólo partes de la pantalla, en lugar de toda la zona, ahorrando memoria. complemento de

Sea la función de actualización () a la parte inferior del archivo our_game.py:

import pygame
from pygame.locals import *

pygame.init()

display_width = 800
display_height = 600

game_display = pygame.display.set_mode((display_width, display_height))

pygame.display.update()

En este punto, puede ejecutar el programa sin ningún error pero la superficie de la pantalla será simplemente abrir y cerrar rápidamente.

Creación de la pygame Juego Loop

Con importada e inicializado, el conjunto de visualización, y la superficie de juego se actualiza constantemente, podemos empezar a trabajar en nuestro bucle principal del juego.

Vamos a crear un bucle while que ejecutar el juego. El bucle llamará el valor booleano true, lo que significa que el bucle se repetirá para siempre a menos que se vea perturbado.

Dentro de este bucle principal del juego de nuestro programa, vamos a construir un bucle for para iterar a través de los eventos de usuario dentro de la cola de eventos, que serán llamados por la función pygame.event.get ().

En este punto, no tenemos nada dentro del bucle, pero podemos añadir una sentencia print () para mostrar que el código se comporta como se espera que lo haga. Pasaremos los eventos dentro de la iteración en la declaración como impresión (evento). complemento de

dejar que estos dos bucles y la impresión () Declaración en nuestro archivo de programa:

import pygame
from pygame.locals import *

pygame.init()

display_width = 800
display_height = 600

game_display = pygame.display.set_mode((display_width, display_height))

pygame.display.update()

while True:
for event in pygame.event.get():
print(event)

Para asegurarse de que nuestro código está trabajando, vamos a ejecutar el programa:

python our_game.py

  • pitón our_game.py

Cuando corremos el archivo, una ventana pop-up 800×600. Para probar los eventos, puede puntero del ratón sobre la ventana, haga clic dentro de la ventana, y pulsar las teclas en el teclado. Estos eventos se imprimirá a la ventana de la consola.

La salida que reciba algo parecido a esto: salida muestra

Output




...

Este los eventos de usuario que están teniendo lugar. Estos eventos son lo que va a controlar el juego, ya que son generados por el usuario. Cada vez que se ejecuta la función pygame.event.get (), el código será teniendo en estos eventos.

Detener el programa se ejecute presionando CTRL + C en la ventana de terminal.

En este punto, se puede eliminar o comentar la sentencia print () ya que no será necesario tener todo esto la salida del terminal.

A partir de aquí, podemos trabajar en nuestra plantilla terminando por el aprendizaje de cómo dejar un juego. Dejar de fumar

Para salir de un programa de pygame, lo primero que puede desinicializar los módulos correspondientes y salga de Python como de costumbre. La función

pygame.quit () se desinicializar todos los módulos de pygame, y el pitón desactivar la función de () saldrá del programa.

Dado que los usuarios tienen el control de la funcionalidad de juego y eventos, sino que también debe saber que pygame.QUIT se envía a la cola de eventos cuando el usuario ha solicitado el programa para cerrar haciendo clic en la “X” en la esquina superior de la ventana del juego .

Partamos controlar el flujo del programa con un condicional if dentro del control de eventos para el bucle:

import pygame
from pygame.locals import *

pygame.init()

display_width = 800
display_height = 600

game_display = pygame.display.set_mode((display_width, display_height))

pygame.display.update()

while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
quit()

En el código anterior, estamos diciendo que si el usuario ha solicitado el programa a cerrar, el programa debe desinicializar la módulos de pygame con pygame.quit () y salir del programa con quit ().

Dado que hemos importado pygame.locals que puede evocar event.type y QUIT tal cual (en lugar de con pygame. Delante de ellos). usuarios

Aunque pueden saber que hacer clic en la “X” en la esquina superior de la ventana de juego, es posible que desee tener ciertos otros eventos de usuario desencadenan la solicitud para salir del programa. Podemos hacer esto con el tipo de evento KeyDown y una o más teclas.

El keyDown medios caso de que el usuario está presionando una tecla en el teclado hacia abajo. Para nuestros propósitos, vamos a decir que la tecla Q (como en “dejar de fumar”) o la tecla ESC puede salir del programa. código de complemento de dejar que eso significa esto dentro de nuestro bucle for:

import pygame
from pygame.locals import *

pygame.init()

display_width = 800
display_height = 600

game_display = pygame.display.set_mode((display_width, display_height))

pygame.display.update()

while True:
for event in pygame.event.get():
if event.type == QUIT or (
event.type == KEYDOWN and (
event.key == K_ESCAPE or
event.key == K_q
)):
pygame.quit()
quit()

Nos han añadido los operadores lógicos booleanos para que el programa puede dejar de fumar si el usuario hace clic en la “X” en la esquina superior de la ventana de juego, o si el usuario pulsa una pulsada la tecla que es o bien la tecla de escape o la tecla Q (nota que esto no es sensible a mayúsculas).

En este punto, si se ejecuta el programa con el comando python our_game.py, usted será capaz de probar la funcionalidad del juego corriendo y luego dejar de fumar, ya sea salir de la ventana con el icono “X”, o por medio de prensado ya sea la Q o la tecla ESC.

Código mejoras y próximos pasos

Mientras que el programa anterior es completamente funcional, hay algunas cosas que podemos hacer para mejorar el código.

Para empezar, podemos poner el código que se encuentra en el bucle while en una definición de función en su lugar:

def event_handler():
for event in pygame.event.get():
if event.type == QUIT or (
event.type == KEYDOWN and (
event.key == K_ESCAPE or
event.key == K_q
)):
pygame.quit()
quit()

Esto hará que el bucle while un poco más ordenado y condensado, especialmente a medida que añadimos más funcionalidad a nuestro juego.

Además, para empezar a hacer el juego más pulido, podemos añadir un título a la barra de título de la ventana (que lee actualmente ventana pygame). Esto lo puede hacer con la siguiente línea:

pygame.display.set_caption('Our Game')

podemos establecer la cadena ‘nuestro juego’ por encima de cualquier cosa que nos gustaría llamar el juego.

Adicionalmente, se puede mover la función pygame.display.update () en el bucle principal del juego.

Ahora, nuestras miradas llenas de código como este:

import pygame
from pygame.locals import *

pygame.init()

display_width = 800
display_height = 600

game_display = pygame.display.set_mode((display_width, display_height))
pygame.display.set_caption('Our Game')

def event_handler():
for event in pygame.event.get():
if event.type == QUIT or (
event.type == KEYDOWN and (
event.key == K_ESCAPE or
event.key == K_q
)):
pygame.quit()
quit()

while True:
event_handler()

pygame.display.update()

También puede considerar diferentes formas de abordar el código anterior, incluyendo el uso de una sentencia break para salir de un bucle antes de pasar a una salida de juego.

A partir de aquí, tendrá que ir a aprender acerca de cómo mostrar las imágenes a través del dibujo y sprites, imágenes animadas y controlar la velocidad de fotogramas, y mucho más. Puede seguir aprendiendo sobre el desarrollo del juego pygame mediante la lectura de la documentación oficial de pygame.

Conclusión

Este tutorial le entró por la instalación del módulo de pygame de código abierto en su entorno de programación Python 3, y cómo empezar a abordar el desarrollo del juego a través de la creación de una plantilla que se puede utilizar para controlar el bucle principal de un juego de Python .

Para hacer otros proyectos de programación que hacen uso de módulos de Python, se puede aprender “Cómo crear un Twitterbot con la Biblioteca Tweepy”, o “cómo trazar datos mediante matplotlib.”