tutorial python pygame sprite blit

tutorial - función python pygame blit



pygame scale sprite (2)

Blit nunca borra elemento anterior - no puede - todos los elementos blighted crean un mapa de bits.

Tienes que ajustar todos los elementos de nuevo en todo el ciclo.

O tienes que mantener parte del fondo antes de blit sprite y usarlo más tarde para ajustar esta parte en lugar de sprite para eliminarla.

También puede usar pygame.display.update() con argumentos para suavizar solo algunas partes del fondo.

Cuando uso blit función blit , no elimina el sprite cargado anterior para hacer que los sprites se muevan hasta que llamo a la función "display.fill (bgcolor)". El problema es que tengo un fondo multicolor. Entonces, ¿cómo actualizo la imagen sin afectar mi fondo? NOTA - Ya probé "pygame.display.update ()" y "pygame.display.flip ()" - no ayuda :(

class states(): def __init__(self, goku1,goku2, x, y): self.image=goku1 keys=pygame.key.get_pressed() if keys[K_RIGHT]: self.image=goku2 if keys[K_LEFT]: self.image=goku2 while True: pygame.display.flip() pygame.display.update() obj=states(goku1, goku2, x, y) call=position() DISPLAYSURF.blit(obj.image, (x, y))

estoy atascado por mucho tiempo :(


Enceñarías primero el fondo y luego cambiarías la nueva ubicación del sprite que se está moviendo. Se vería algo como esto:

window= pygame.display.set_mode(WINDOWSIZE, 0, 32) while True: #update events window.blit(your_multi_colored_background, (0, 0)) window.blit(obj.image, (x, y)) pygame.display.update()

Espero que esto ayude.