Pygame es una biblioteca de Python que se puede usar específicamente para diseñar y crear juegos. Pygame solo admite juegos 2D creados con diferentes formas/imágenes llamadas sprites. Pygame no es particularmente mejor para diseñar juegos, ya que es muy complejo de usar y carece de una GUI adecuada como el motor de juegos Unity, pero definitivamente genera lógica para proyectos más grandes.
Instalación
Antes de inicializar la biblioteca de pygame, debemos instalarla. Esta biblioteca se puede instalar en el sistema utilizando la herramienta pip que proporciona Python para la instalación de la biblioteca. Pygame se puede instalar escribiendo estas líneas en la terminal.
pip install pygame
Creando botones interactivos usando pygame
Un juego debe tener botones interactivos que puedan controlar diferentes eventos en el juego para que el juego esté más controlado y para agregarle una GUI adecuada. Estos se pueden crear en pygame creando un rectángulo en la pantalla y luego superponiendo el texto indicador en él. Para esto, usaremos varias funciones como draw.rect()
, screen.blit()
etc. Para agregarle más vivacidad, podemos cambiar el color del botón cuando el mouse se desplace sobre él.
Esto se puede hacer usando una función que actualice la posición x e y del puntero del mouse y almacenándolo como una tupla en una variable. Luego, podemos establecer los límites del rectángulo en las respectivas variables y verificar si el mouse está en esos límites, de ser así, el color del bloque cambiará a un tono más claro para indicar que se puede interactuar con el botón.
A continuación se muestra la implementación.
import pygame import sys # initializing the constructor pygame.init() # screen resolution res = (720,720) # opens up a window screen = pygame.display.set_mode(res) # white color color = (255,255,255) # light shade of the button color_light = (170,170,170) # dark shade of the button color_dark = (100,100,100) # stores the width of the # screen into a variable width = screen.get_width() # stores the height of the # screen into a variable height = screen.get_height() # defining a font smallfont = pygame.font.SysFont('Corbel',35) # rendering a text written in # this font text = smallfont.render('quit' , True , color) while True: for ev in pygame.event.get(): if ev.type == pygame.QUIT: pygame.quit() #checks if a mouse is clicked if ev.type == pygame.MOUSEBUTTONDOWN: #if the mouse is clicked on the # button the game is terminated if width/2 <= mouse[0] <= width/2+140 and height/2 <= mouse[1] <= height/2+40: pygame.quit() # fills the screen with a color screen.fill((60,25,60)) # stores the (x,y) coordinates into # the variable as a tuple mouse = pygame.mouse.get_pos() # if mouse is hovered on a button it # changes to lighter shade if width/2 <= mouse[0] <= width/2+140 and height/2 <= mouse[1] <= height/2+40: pygame.draw.rect(screen,color_light,[width/2,height/2,140,40]) else: pygame.draw.rect(screen,color_dark,[width/2,height/2,140,40]) # superimposing the text onto our button screen.blit(text , (width/2+50,height/2)) # updates the frames of the game pygame.display.update()
Producción:
Publicación traducida automáticamente
Artículo escrito por antrikshmisri y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA