Actor#
Actors koennen ueber Nachrichten kommunizieren, wenn das leichter zu lesen ist als direkte Objektverweise.
Kombiniere send_message(...) mit @register_message("...") fuer einfache, anfaengerfreundliche Event-Ablaufe zwischen Actor-Klassen.
Für Einsteigergruppen kannst du world.learning_mode = True aktivieren. In diesem Modus werden häufige Eingabefehler nach Möglichkeit toleranter behandelt, zum Beispiel werden Listenpositionen in vielen Actor-Positionsmethoden akzeptiert.
Nutzliche Anfaenger-Aliasse auf Actor sind:
go_to(...)formove_to(...)move_forward(...)formove(...)face(...)forset_direction(...)turn(...)forturn_right(...)touching(...)andtouching_all(...)for detect helpers
API-Referenz#
- class miniworlds.actors.actor.Actor(position=(0, 0), *args, **kwargs)[Quellcode]#
Interaktives Objekt, das in einer Welt platziert wird.
Actors können sich bewegen, Kostüme wechseln, Kollisionen erkennen, Nachrichten senden und auf Tastatur-, Maus- und Lebenszyklusereignisse reagieren.
Beispiele
Create a basic actor: from miniworlds import Actor, World world = World(100, 60) Actor((10, 10), world=world) world.run() Create an actor with a costume: from miniworlds import Actor, World world = World(100, 60) player = Actor((10, 10), world=world) player.add_costume("images/player.png") world.run()
- add_costume(source=None)[Quellcode]#
Add a costume to the actor.
- Rückgabetyp:
- Parameter:
source – Image path, color tuple, list of image sources, existing Costume, or None for an empty costume.
- Rückgabe:
Das neue Kostüm.
Beispiele
player = Actor((20, 20)) player.add_costume("images/player.png") player.add_costume((255, 255, 0)) idle = player.add_costume("images/idle.png") run = player.add_costume("images/run.png") player.switch_costume(run)
- add_costumes(sources)[Quellcode]#
Add several costumes.
- Rückgabetyp:
- Parameter:
sources – Liste aus Bildpfaden, Farbtupeln oder Kostümquellen.
- Rückgabe:
The last added costume.
Beispiele
actor.add_costumes(["images/idle.png", "images/run.png"])
- animate(speed=10)[Quellcode]#
Animate the current costume.
- Parameter:
speed – Frames zwischen Animationsschritten.
Beispiele
actor.animate(speed=5)
- animate_costume(costume, speed=10)[Quellcode]#
Animate a specific costume.
- Parameter:
costume – Zu animierendes Kostüm.
speed – Frames zwischen Animationsschritten.
Beispiele
actor.animate_costume(run_costume, speed=5)
- animate_loop(speed=10)[Quellcode]#
Animate the current costume in a loop.
- Parameter:
speed – Frames zwischen Animationsschritten.
Beispiele
player.costume.add_images(["images/walk1.png", "images/walk2.png"]) player.animate_loop(speed=8)
- before_remove()[Quellcode]#
Hook, der unmittelbar vor dem Entfernen des Actors aus der Welt aufgerufen wird.
- property border#
Border width of the actor.
A value of 0 means no border.
Hinweise
You can also configure borders via costume.border or world.default_border.
- property border_color#
Border color as RGBA tuple.
Hinweise
Setze
Actor.borderauf einen Wert größer als0, um einen sichtbaren Rand zu erhalten.Alias: Actor.stroke_color.
- bounce_from_actor(other)[Quellcode]#
Reflect movement direction after colliding with another actor.
- Parameter:
other – Actor to bounce from.
Beispiele
other = ball.detect() if other: ball.bounce_from_actor(other)
- bounce_from_border(borders)[Quellcode]#
Bounce the actor away from world borders.
- Rückgabetyp:
- Parameter:
borders – Randnamen wie
"left"oder"top".- Rückgabe:
The actor itself.
Beispiele
@ball.register def act(self): self.move() borders = self.detect_borders() if borders: self.bounce_from_border(borders)
- property center: Tuple[float, float]#
Center position in world coordinates.
Beispiele
actor.center = (100, 80)
- property collision_type: str#
Kollisionsstrategie, die dieser Actor verwendet.
- Werte:
default: Welt-Standard verwenden.tile: Actors auf demselben Tile finden.rect: Begrenzungsrechtecke prüfen.static-rect: zwischengespeicherte Begrenzungsrechtecke prüfen.circle: Begrenzungskreise prüfen.mask: überlappende Bildmasken prüfen.
Beispiele
actor.collision_type = "rect" if actor.detect(wall): actor.undo_move()
- Typ:
- property color#
Fill color of the actor as RGBA tuple.
Das Setzen dieses Werts aktiviert auch das Füllen des Kostüms.
Hinweise
Alias: Actor.color
Das Füllen eines Bildkostüms ersetzt den sichtbaren Bildinhalt.
- property costume: Costume#
Current active costume.
Beispiele
actor.costume.is_rotatable = False
- Typ:
- property costume_count: int#
Anzahl der Kostüme, die dem Actor zugeordnet sind.
Beispiele
actor.add_costume((255, 0, 0)) print(actor.costume_count)
- Typ:
- property costumes: CostumesManager#
Manager, der alle Kostüme des Actors enthält.
Beispiele
for costume in actor.costumes: costume.border = 1
- Typ:
CostumesManager
- classmethod create_on_world(world)[Quellcode]#
Create an actor on a specific world.
- Parameter:
world – World to place the actor on.
- Rückgabe:
The created actor.
Beispiele
actor = Actor.create_on_world(world)
- detect(*args, **kwargs)[Quellcode]#
Gibt den ersten erkannten Actor zurück.
- Rückgabetyp:
- Parameter:
args – Positionsargumente, die an
detect_all()weitergegeben werden.kwargs – Schlüsselwortargumente, die an
detect_all()weitergegeben werden.
- Rückgabe:
Erster passender Actor oder
None.
Beispiele
wall = player.detect(Wall) if wall: player.undo_move() coin = player.detect(Coin) if coin: player.score += 1 coin.remove()
- detect_actor_at(direction=None, distance=0, actors=None)[Quellcode]#
Gibt den ersten Actor an einem Abstand von diesem Actor zurück.
- Rückgabetyp:
- Parameter:
direction – Direction to check.
distance – Abstand vom Mittelpunkt des Actors.
actors – Optional actor filter.
- Rückgabe:
Erster passender Actor oder
None.
Beispiele
wall = player.detect_actor_at("right", 20, Wall) if wall: player.undo_move()
- detect_actor_in_front(actors=None, distance=1)[Quellcode]#
Return the first actor directly in front.
- Rückgabetyp:
- Parameter:
actors – Optional actor filter.
distance – Distance in front of the actor.
- Rückgabe:
Erster passender Actor oder
None.
Beispiele
wall = player.detect_actor_in_front(Wall) if wall: player.turn_left()
- detect_actors_at(direction=None, distance=0, actors=None)[Quellcode]#
Gibt alle Actors an einem Abstand von diesem Actor zurück.
- Rückgabetyp:
- Parameter:
direction – Zu prüfende Richtung; weglassen, um die Actor-Position zu verwenden.
distance – Abstand vom Mittelpunkt des Actors.
actors – Optional actor filter.
- Rückgabe:
List of matching actors.
Beispiele
@player.register def on_key_pressed_right(self): if not self.detect_actors_at("right", 20, Wall): self.move_in_direction("right", 5)
- detect_actors_in_front(actors=None, distance=1)[Quellcode]#
Gibt alle Actors direkt vor diesem Actor zurück.
- Rückgabetyp:
- Parameter:
actors – Optional actor filter.
distance – Distance in front of the actor.
- Rückgabe:
Matching actors.
Beispiele
enemies = player.detect_actors_in_front(Enemy) for enemy in enemies: player.move_away(enemy, 3)
- detect_all(actors=None, direction=0, distance=0)[Quellcode]#
Gibt alle Actors zurück, die an einem Abstand von diesem Actor erkannt werden.
- Rückgabetyp:
- Parameter:
actors – Optionaler Actor-Filter; verwende
Nonefür alle Actors.direction – Direction to check.
distance – Abstand vom Mittelpunkt des Actors.
- Rückgabe:
All matching actors found by the sensor.
Beispiele
coins = player.detect_all(Coin) for coin in coins: coin.remove() walls_ahead = player.detect_all(Wall, direction="right", distance=10)
- detect_borders(distance=0)[Quellcode]#
Return borders detected near the actor.
- Rückgabetyp:
- Parameter:
distance – Distance in front of the actor to check.
- Rückgabe:
Liste von Randnamen wie
"left","right","top"oder"bottom".
Beispiele
@ball.register def act(self): self.move() borders = self.detect_borders() if borders: self.bounce_from_border(borders)
- detect_bottom_border()[Quellcode]#
Gibt zurück, ob der Actor den unteren Rand berührt.
- Rückgabetyp:
- Rückgabe:
True, wenn der untere Rand erkannt wird.
- detect_color(color=None)[Quellcode]#
Gibt zurück, ob der Actor eine Hintergrundfarbe erkennt.
- Rückgabetyp:
- Parameter:
color – Optionales RGB-/RGBA-Farbtupel. Wenn es weggelassen wird, wird jede Farbe erkannt.
- Rückgabe:
True, wenn die Farbe am Mittelpunkt des Actors erkannt wird.
Beispiele
@player.register def act(self): if self.detect_color((0, 0, 0)): self.remove()
- detect_color_at(direction=None, distance=0)[Quellcode]#
Gibt Hintergrundfarben an einem Abstand vom Actor zurück.
- Rückgabetyp:
- Parameter:
direction – Zu prüfende Richtung; weglassen, um die Actor-Position zu verwenden.
distance – Abstand vom Mittelpunkt des Actors.
- Rückgabe:
Color or colors found by the sensor.
Beispiele
color = actor.detect_color_at("right", 5)
- detect_left_border()[Quellcode]#
Gibt zurück, ob der Actor den linken Rand berührt.
- Rückgabetyp:
- Rückgabe:
True if the left border is detected.
- detect_pixel(position)[Quellcode]#
Gibt zurück, ob der Actor ein Bildschirmpixel überlappt.
- Rückgabetyp:
- Parameter:
position – Pixel position as (x, y).
- Rückgabe:
True if the actor overlaps the pixel.
Beispiele
@actor.register def on_mouse_left(self, position): if self.detect_pixel(position): self.hide()
- detect_point(position)[Quellcode]#
Gibt zurück, ob der Actor einen Punkt in der Welt überlappt.
- Rückgabetyp:
- Parameter:
position – World position as (x, y).
- Rückgabe:
True, wenn der Actor den Punkt überlappt.
Beispiele
if actor.detect_point((100, 80)): actor.hide()
- detect_rect(rect)[Quellcode]#
Gibt zurück, ob der Actor ein Rechteck überlappt.
- Parameter:
rect – Rectangle as (x, y, width, height) or pygame.Rect.
- Rückgabe:
True, wenn der Actor das Rechteck überlappt.
- detect_right_border()[Quellcode]#
Gibt zurück, ob der Actor den rechten Rand berührt.
- Rückgabetyp:
- Rückgabe:
True, wenn der rechte Rand erkannt wird.
- detect_top_border()[Quellcode]#
Gibt zurück, ob der Actor den oberen Rand berührt.
- Rückgabetyp:
- Rückgabe:
True if the top border is detected.
- detecting_bottom_border()[Quellcode]#
Gibt zurück, ob der Actor den unteren Rand berührt.
- Rückgabetyp:
- Rückgabe:
True, wenn der untere Rand erkannt wird.
- detecting_left_border()[Quellcode]#
Gibt zurück, ob der Actor den linken Rand berührt.
- Rückgabetyp:
- Rückgabe:
True if the left border is detected.
- detecting_right_border()[Quellcode]#
Gibt zurück, ob der Actor den rechten Rand berührt.
- Rückgabetyp:
- Rückgabe:
True, wenn der rechte Rand erkannt wird.
- detecting_top_border()[Quellcode]#
Gibt zurück, ob der Actor den oberen Rand berührt.
- Rückgabetyp:
- Rückgabe:
True if the top border is detected.
- property direction: int#
Actor-Richtung in der Miniworlds-/Scratch-Konvention.
Häufige Werte sind
0oder"up",90oder"right",-90oder"left"und180oder"down".Beispiele
@player.register def on_key_down(self, key): if "left" in key: self.direction = "left" elif "right" in key: self.direction = "right" self.move() actor.direction = 45 actor.move()
- Typ:
- property direction_at_unit_circle: int#
Richtung in der Einheitskreis-Konvention.
In dieser Konvention zeigt
0nach rechts und90nach oben.Beispiele
actor.direction_at_unit_circle = 0
- Typ:
- face(direction)[Quellcode]#
Schülerfreundlicher Alias für
set_direction(direction).
- fill(value)[Quellcode]#
Füllfarbe für Ränder und Linien festlegen
- property fill_color#
Fill color of the actor as RGBA tuple.
Das Setzen dieses Werts aktiviert auch das Füllen des Kostüms.
Hinweise
Alias: Actor.color
Das Füllen eines Bildkostüms ersetzt den sichtbaren Bildinhalt.
- flip_x()[Quellcode]#
Spiegelt das Kostüm horizontal und dreht den Actor um.
- Rückgabetyp:
- Rückgabe:
The new actor direction.
Beispiele
if actor.detect_borders(): actor.flip_x()
- classmethod from_center(center_position, *args, **kwargs)[Quellcode]#
Create an actor positioned by its center.
- Parameter:
center_position – Center position as (x, y).
- Rückgabe:
The created actor.
Beispiele
actor = Actor.from_center((100, 80))
- classmethod from_topleft(topleft_position, *args, **kwargs)[Quellcode]#
Create an actor positioned by its top-left corner.
- Parameter:
topleft_position – Top-left position as (x, y).
- Rückgabe:
The created actor.
Beispiele
actor = Actor.from_topleft((20, 40))
- get_distance_to(obj)[Quellcode]#
Gibt den Abstand zu einem anderen Actor oder zu einer Position zurück.
- get_local_rect()[Quellcode]#
Gibt das Actor-Rechteck in kamera-lokalen Koordinaten zurück.
- Rückgabetyp:
Rect
- go_to(position)[Quellcode]#
Schülerfreundlicher Alias für
move_to(position).
- has_costume()[Quellcode]#
Gibt
Truezurück, wenn der Actor aktuell ein Kostüm hat.- Rückgabetyp:
- hide()[Quellcode]#
Verbirgt einen Actor (der Actor wird unsichtbar)
- property is_blockable#
Ob dieser Actor von blockierenden Actors gestoppt wird.
Beispiele
player.is_blockable = True wall.is_blocking = True
- Typ:
- property is_blocking#
Whether this actor blocks blockable actors.
Beispiele
wall.is_blocking = True
- Typ:
- property is_filled#
Ist der Actor mit Farbe gefüllt?
- property is_flipped: bool#
Whether the current costume is mirrored horizontally.
Beispiele
actor.is_flipped = True
- Typ:
- is_inside_world()[Quellcode]#
Gibt zurück, ob der Actor vollständig innerhalb der Welt liegt.
- Rückgabe:
True, wenn das gesamte Actor-Rechteck innerhalb der Welt liegt.
- property is_rotatable: bool#
Whether the costume rotates with the actor direction.
Die Actor-Richtung ändert sich auch dann, wenn dies
Falseist; nur das gezeichnete Kostüm bleibt ungedreht.Beispiele
actor.is_rotatable = False actor.direction = "right"
- Typ:
- property last_position: Tuple[float, float]#
Actor center from the previous frame.
Beispiele
if actor.center != actor.last_position: print("actor moved")
- move(distance=0, direction=None)[Quellcode]#
Bewegt den Actor.
- Parameter:
distance – Number of steps to move.
direction – Optionale Richtung. Wenn sie weggelassen wird, wird die aktuelle Actor-Richtung verwendet.
- Rückgabe:
The moved actor.
Beispiele
actor.direction = "right" actor.move(5)
- move_away(target, distance=1)[Quellcode]#
Move away from a target actor or position.
- Parameter:
target – Target actor or position.
distance – Schrittweite.
- Rückgabe:
The moved actor.
Beispiele
@player.register def act(self): if self.detect(enemy): self.move_away(enemy, 3)
- move_back(distance)[Quellcode]#
Bewegt den Actor rückwärts.
- Parameter:
distance – Anzahl der Schritte rückwärts.
- Rückgabe:
The actor itself.
Beispiele
actor.move() if actor.detect(Wall): actor.move_back(5)
- move_forward(distance=0)[Quellcode]#
Schülerfreundlicher Alias für
move(distance).
- move_in_direction(direction, distance=1)[Quellcode]#
Bewegt den Actor in eine Richtung.
directionkann eine Zahl, ein Richtungsstring oder eine Zielposition sein.- Parameter:
direction – Richtungswinkel, Richtungsname oder Zielposition.
distance – Number of steps to move.
- Rückgabe:
The moved actor.
Beispiele
@player.register def on_key_pressed(self, key): if "right" in key: self.move_in_direction("right", 5) if "up" in key: self.move_in_direction("up", 5) player.move_in_direction((100, 80), 2)
- move_to(position)[Quellcode]#
Bewegt den Actor zu einer Position in der Welt.
- Parameter:
position – Zielposition als
(x, y).- Rückgabe:
The moved actor.
Beispiele
@player.register def on_clicked_left(self, position): self.move_to(position)
- move_towards(target, distance=1)[Quellcode]#
Move toward a target actor or position.
- Parameter:
target – Target actor or position.
distance – Schrittweite.
- Rückgabe:
The moved actor.
Beispiele
enemy.move_towards(player, 2) enemy.move_towards((100, 80), 2)
- move_vector(vector)[Quellcode]#
Bewegt den Actor um einen Vektor.
- Parameter:
vector – Vektorartige Bewegungsänderung.
- Rückgabe:
The moved actor.
Beispiele
actor.move_vector(Vector(2, 0))
- new_costume()[Quellcode]#
Erstellt ein neues leeres Kostüm und hängt es an diesen Actor an.
- next_costume()[Quellcode]#
Switch to the next costume.
- Rückgabe:
The new active costume.
Beispiele
actor.next_costume()
- on_clicked_left(position)[Quellcode]#
Called when the actor is clicked with the left mouse button.
- Parameter:
position – Current mouse position as (x, y).
Beispiele
@actor.register def on_clicked_left(self, position): self.hide()
- on_clicked_right(position)[Quellcode]#
Called when the actor is clicked with the right mouse button.
- Parameter:
position – Current mouse position as (x, y).
Beispiele
@actor.register def on_clicked_right(self, position): self.remove()
- on_detecting_actor(actor)[Quellcode]#
Wird aufgerufen, wenn dieser Actor einen anderen Actor erkennt.
- Parameter:
actor – Detected actor.
Beispiele
@player.register def on_detecting_actor(self, actor): if isinstance(actor, Coin): actor.remove()
- on_detecting_borders(borders)[Quellcode]#
Called when the actor detects one or more world borders.
- Parameter:
borders – Randnamen, zum Beispiel
["left", "top"].
Beispiele
@player.register def on_detecting_borders(self, borders): self.bounce_from_border(borders)
- on_detecting_not_on_world()[Quellcode]#
Alias for
on_not_detecting_world.Beide Namen werden akzeptiert, damit ältere Unterrichtsmaterialien und neuere Beispiele die jeweils passendere Formulierung verwenden können.
Beispiele
@actor.register def on_detecting_not_on_world(self): self.remove()
- on_detecting_world()[Quellcode]#
Called when the actor is inside the world.
Beispiele
@player.register def on_detecting_world(self): self.move()
- on_key_down(key)[Quellcode]#
Wird einmal aufgerufen, wenn eine Taste gedrückt wird.
Registriere
on_key_down_<letter>(zum Beispielon_key_down_a), wenn du nur auf einen bestimmten Buchstaben reagieren möchtest.Für Pfeiltasten verwende
on_key_down_left,on_key_down_right,on_key_down_upoderon_key_down_down.- Parameter:
key – Liste von Tastennamen-Varianten, zum Beispiel
["A", "a"]oder["left"].
Beispiele
@player.register def on_key_down(self, key): if "left" in key: self.direction = "left" elif "right" in key: self.direction = "right" self.move() @player.register def on_key_down_space(self): self.send_message("jump")
- on_key_pressed(key)[Quellcode]#
Wird in jedem Frame wiederholt aufgerufen, solange eine Taste gedrückt gehalten wird.
Das ist die richtige Wahl für flüssige, kontinuierliche Bewegung. Wie
on_key_downunterstützt dieses Ereignis Handler für einzelne Tasten wieon_key_pressed_woderon_key_pressed_left.- Parameter:
key – Liste der aktuell gehaltenen Tastennamen-Varianten, zum Beispiel
["W", "w"]oder["up"].
Beispiele
@player.register def on_key_pressed(self, key): if "left" in key: self.x -= 3 elif "right" in key: self.x += 3
- on_key_up(key)[Quellcode]#
Wird einmal aufgerufen, wenn eine gedrückte Taste losgelassen wird.
- Parameter:
key – Liste von Tastennamen-Varianten im selben Format wie bei
on_key_down().
Beispiele
@player.register def on_key_up(self, key): if "space" in key: self.stop_animation()
- on_mouse_leave(position)[Quellcode]#
Wird aufgerufen, wenn der Mauszeiger den Bereich des Actors verlässt.
- Parameter:
position – The mouse position when it left the actor.
Beispiele
@actor.register def on_mouse_leave(self, position): self.costume.transparency = 0
- on_mouse_left(position)[Quellcode]#
Wird aufgerufen, wenn die linke Maustaste geklickt wird.
Das Ereignis wird für den Klick selbst ausgelöst, unabhängig davon, ob der Klick auf dem Actor lag. Verwende
detect_pixel(position), wenn du nur Klicks auf den Actor-Körper behandeln möchtest.- Parameter:
position – Current mouse position as (x, y).
- on_mouse_left_down(position)[Quellcode]#
Wird aufgerufen, wenn die linke Maustaste gedrückt wird.
- Parameter:
position – Current mouse position as (x, y).
- on_mouse_left_released(position)[Quellcode]#
Called when the left mouse button is released.
- Parameter:
position – Current mouse position as (x, y).
Beispiele
@actor.register def on_mouse_left_released(self, position): self.center = position
- on_mouse_motion(position)[Quellcode]#
Wird aufgerufen, wenn die Maus bewegt wird.
Das Ereignis wird allgemein für Mausbewegungen ausgelöst. Verwende
detect_pixel(position), wenn du nur Bewegungen über dem Actor-Körper behandeln möchtest.- Parameter:
position – Current mouse position as (x, y).
- on_mouse_over(position)[Quellcode]#
Wird aufgerufen, wenn der Mauszeiger den Actor-Bereich betritt oder sich darüber bewegt.
- Parameter:
position – Current mouse position as (x, y).
Beispiele
@actor.register def on_mouse_over(self, position): self.costume.transparency = 100
- on_mouse_right(position)[Quellcode]#
Wird aufgerufen, wenn die rechte Maustaste geklickt wird.
Verwende
detect_pixel(position), wenn du nur Klicks auf den Actor-Körper behandeln möchtest.- Parameter:
position – Current mouse position as (x, y).
- on_mouse_right_down(position)[Quellcode]#
Wird aufgerufen, wenn die rechte Maustaste gedrückt wird.
- Parameter:
position – Current mouse position as (x, y).
- on_mouse_right_released(position)[Quellcode]#
Called when the right mouse button is released.
- Parameter:
position – Current mouse position as (x, y).
- on_not_detecting_world()[Quellcode]#
Wird aufgerufen, wenn der Actor die Welt nicht berührt, also außerhalb der Weltgrenzen liegt.
Nützlich, um Actors zu entfernen, die aus dem sichtbaren Bereich fliegen.
Beispiele
@rocket.register def on_not_detecting_world(self): self.remove()
- on_shape_change()[Quellcode]#
Hook, der aufgerufen wird, wenn sich formbezogene Actor-Eigenschaften ändern.
- property orientation: float#
Ausrichtungsversatz des Kostüms in Grad.
Beispiele
actor.orientation = -90
- Typ:
- property origin#
Aktueller Ursprungmodus für Größen- und Positionsoperationen.
- point_towards_actor(other)[Quellcode]#
Point the actor toward another actor.
- Rückgabetyp:
- Parameter:
other – Ziel-Actor.
- Rückgabe:
The new direction.
Beispiele
enemy.point_towards_actor(player)
- point_towards_position(destination)[Quellcode]#
Point the actor toward a position.
- Rückgabetyp:
- Parameter:
destination – Zielposition als
(x, y).- Rückgabe:
The new direction.
Beispiele
def act(self): mouse = self.world.mouse.get_position() if mouse: self.point_towards_position(mouse) self.move()
- register_sensor(*args, **kwargs)[Quellcode]#
Diese Methode wird für den Decorator
@register_sensorverwendet.
- remove(kill=True)[Quellcode]#
Remove this actor from its world.
- Rückgabetyp:
- Parameter:
kill – Ob auch das zugrunde liegende pygame-Sprite entfernt werden soll.
- Rückgabe:
Removed actor data from the world connector.
Beispiele
coin = actor.detect(Coin) if coin: coin.remove()
- remove_costume(source=None)[Quellcode]#
Remove a costume.
- Parameter:
source – Kostümindex oder Kostümobjekt. Wenn der Wert weggelassen wird, wird das aktuelle Kostüm entfernt.
Beispiele
actor.remove_costume() actor.remove_costume(0)
- reset_costumes()[Quellcode]#
Entfernt alle Kostüme und setzt den Appearance-Zustand zurück.
- scale_height(value)[Quellcode]#
Skaliert die Actor-Höhe mit einem Faktor.
- Parameter:
value – Scale factor.
Beispiele
actor.scale_height(0.5)
- scale_width(value)[Quellcode]#
Skaliert die Actor-Breite mit einem Faktor.
- Parameter:
value – Scale factor.
Beispiele
actor.scale_width(1.5)
- send_message(message)[Quellcode]#
Sendet eine Nachricht über das Ereignissystem der Welt.
- Parameter:
message – Name der Nachricht.
Beispiele
player.send_message("hit") @enemy.register def on_message(self, message): if message == "hit": self.remove()
- set_background_color(color)[Quellcode]#
Setzt eine Hintergrundfarbe hinter das Kostümbild des Actors.
- set_costume(costume)[Quellcode]#
Setzt das aktuelle Kostüm über einen Index, eine Quelle oder ein Appearance-Objekt.
- set_direction(direction)[Quellcode]#
Point the actor in a direction.
- Rückgabetyp:
- Parameter:
direction – Richtung als Winkel oder String wie
"up","right","down"oder"left".- Rückgabe:
The new direction.
Beispiele
actor.set_direction("left") actor.set_direction(45)
- set_position(value)[Quellcode]#
Setzt die Actor-Position in Weltkoordinaten.
- set_size(value)[Quellcode]#
Set actor size.
- Parameter:
value – Size as (width, height) or a scalar size.
Beispiele
actor.set_size((40, 30))
- set_world(new_world)[Quellcode]#
Verschiebt den Actor in eine andere Welt und gibt den Actor zurück.
- Rückgabetyp:
- show()[Quellcode]#
Zeigt einen Actor an (ein unsichtbarer Actor wird sichtbar)
- property static#
Soll der Actor auf Ereignisse reagieren? Du kannst diese Option für zusätzliche Performance deaktivieren.
- stop_animation()[Quellcode]#
Stop the current costume animation.
Beispiele
actor.animate_loop() actor.stop_animation()
- property stroke_color#
Border color as RGBA tuple.
Hinweise
Setze
Actor.borderauf einen Wert größer als0, um einen sichtbaren Rand zu erhalten.Alias: Actor.stroke_color.
- switch_costume(source)[Quellcode]#
Switch to another costume.
- Rückgabetyp:
- Parameter:
source – Costume index or costume object.
- Rückgabe:
The new active costume.
Beispiele
actor.add_costume("images/idle.png") actor.add_costume("images/run.png") actor.switch_costume(1)
- switch_origin(value)[Quellcode]#
Switch the actor origin while preserving its screen position.
- Parameter:
value –
"center"oder"topleft".
Beispiele
actor.switch_origin("center")
- property topleft: Tuple[float, float]#
Top-left position in world coordinates.
Beispiele
actor.topleft = (10, 20)
- touching(*args, **kwargs)[Quellcode]#
Schülerfreundlicher Alias für
detect(...).
- touching_all(*args, **kwargs)[Quellcode]#
Schülerfreundlicher Alias für
detect_all(...).
- turn(degrees=90)[Quellcode]#
Schülerfreundlicher Alias für
turn_right(degrees).
- turn_left(degrees=90)[Quellcode]#
Turn the actor left.
- Rückgabetyp:
- Parameter:
degrees – Gradzahl für die Drehung.
- Rückgabe:
The new direction.
Beispiele
actor.turn_left() actor.turn_left(45)
- turn_right(degrees=90)[Quellcode]#
Turn the actor right.
- Parameter:
degrees – Gradzahl für die Drehung.
- Rückgabe:
The new direction.
Beispiele
actor.turn_right() actor.turn_right(45)
- undo_move()[Quellcode]#
Mache den letzten Zug rückgängig.
- Rückgabe:
The moved actor.
Beispiele
def on_detecting_wall(self, wall): self.undo_move()
- property world#
Welt, zu der dieser Actor gehört.