Los sprites son objetos, con diferentes propiedades como altura, ancho, color, etc., y métodos como moverse hacia la derecha, izquierda, arriba y abajo, saltar, etc. En este artículo, buscamos crear un objeto en el que los usuarios puedan controlar eso. objeto y muévalo hacia delante, hacia atrás, hacia arriba y hacia abajo con las teclas de flecha.
Veamos primero nuestra primera clase, es decir, la clase en la que se define nuestro sprite, la llamaremos Sprite. Esta clase de Sprite define sus posiciones (coordenadas x e y), dimensión de un objeto, color, etc. Primero, llamaremos a nuestro método __init__() . Se llama constructor de una clase.
Ejemplo: Creando una clase de Sprite
Python3
import pygame # GLOBAL VARIABLES COLOR = (255, 100, 98) SURFACE_COLOR = (167, 255, 100) WIDTH = 500 HEIGHT = 500 # Object class class Sprite(pygame.sprite.Sprite): def __init__(self, color, height, width): super().__init__() self.image = pygame.Surface([width, height]) self.image.fill(SURFACE_COLOR) self.image.set_colorkey(COLOR) pygame.draw.rect(self.image, color, pygame.Rect(0, 0, width, height)) self.rect = self.image.get_rect()
Ahora que se ha creado la clase, podemos crear objetos a partir de la clase. Nos permite crear tantos objetos como necesitemos usando la misma clase. Ahora crearemos un objeto usando nuestro Class Sprite.
Sintaxis:
objeto = Sprite (ROJO, ANCHO, ALTO)
De forma predeterminada, el objeto estará en la posición (0,0), es decir, en la parte superior izquierda de la pantalla. Podemos cambiar las propiedades x e y del objeto.
Sintaxis:
objeto.rect.x = valor
objeto.rect.y = valor
Podemos definir n de sprites que queremos crear, pero a efectos de comprensión, simplifiquemos. Aquí hemos creado un sprite rectangular de ciertas dimensiones, sobre el cual podemos realizar diferentes operaciones para realizar sobre los sprites como avanzar, retroceder, saltar, ralentizar, acelerar, etc.
Ejemplo: Crear sprite
Python3
import pygame import random # GLOBAL VARIABLES COLOR = (255, 100, 98) SURFACE_COLOR = (167, 255, 100) WIDTH = 500 HEIGHT = 500 # Object class class Sprite(pygame.sprite.Sprite): def __init__(self, color, height, width): super().__init__() self.image = pygame.Surface([width, height]) self.image.fill(SURFACE_COLOR) self.image.set_colorkey(COLOR) pygame.draw.rect(self.image,color,pygame.Rect(0, 0, width, height)) self.rect = self.image.get_rect() pygame.init() RED = (255, 0, 0) size = (WIDTH, HEIGHT) screen = pygame.display.set_mode(size) pygame.display.set_caption("Creating Sprite") all_sprites_list = pygame.sprite.Group() object_ = Sprite(RED, 20, 30) object_.rect.x = 200 object_.rect.y = 300 all_sprites_list.add(object_) exit = True clock = pygame.time.Clock() while exit: for event in pygame.event.get(): if event.type == pygame.QUIT: exit = False all_sprites_list.update() screen.fill(SURFACE_COLOR) all_sprites_list.draw(screen) pygame.display.flip() clock.tick(60) pygame.quit()
Producción:
Publicación traducida automáticamente
Artículo escrito por dev247kumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA