Animierte Schrift
Abschlussbedingungen
import random
import pgzrun, pygame
WIDTH, HEIGHT = 500, 500
nachrichten = []
class AnimierteNachricht():
def __init__(self, center, nachricht):
self.aktiv = True
self.center = center
self.x_ziel = center[0] + random.uniform(-100, 100)
self.y_ziel = center[1] - random.uniform(100, 200)
self.nachricht = nachricht
self.dauer = 3
self.groesse = 10
self.farbe = "black"
animate(self,
groesse=30,
duration=self.dauer)
animate(self,
center=(self.x_ziel, self.y_ziel),
duration=self.dauer,
on_finished=self._beenden)
def draw(self):
screen.draw.text(str(self.nachricht),
center=self.center,
color=self.farbe,
fontsize=self.groesse)
def _beenden(self):
self.aktiv = False
def update():
global nachrichten
nachrichten = [nachricht for nachricht in nachrichten if nachricht.aktiv]
def draw():
screen.fill((255, 255, 255))
for nachricht in nachrichten:
nachricht.draw()
def on_mouse_down():
position = pygame.mouse.get_pos()
nachricht = AnimierteNachricht(position, "Klick!")
nachrichten.append(nachricht)
pgzrun.go( )
Zuletzt geändert: Donnerstag, 3. April 2025, 15:10