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 o sprites. Pygame no tiene un diseño de diseño incorporado ni ningún sistema de interfaz de usuario incorporado, lo que significa que no hay una manera fácil de crear una interfaz de usuario o niveles para un juego. La única forma de hacer niveles o diferentes menús en pygame es usando funciones.
Uso de funciones como menús
Las funciones en Pygame son una forma de contener diferentes menús o niveles al definir un tipo de evento en cada función y luego llamar a las funciones desde su función contenedora respectiva.
Por ejemplo, se llamará a la función del juego si el jugador presiona el botón de reproducción en el menú de inicio. Entonces, la función del menú de inicio se convierte en funciones contenedoras para la función del juego. Lo importante a tener en cuenta es que la función de inicio no se puede llamar directamente desde la función del juego. Si el juego contiene diferentes niveles desbloqueables, el nivel anterior se convierte en la función de contenedor para el siguiente nivel.
Código de muestra para un juego que contiene el menú de inicio
Programa de Python para demostrar menús y niveles
Python
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