Actor > Shapes(Formen)#
Shape-Actors sind zeichnbare Actors mit geometrielastigen APIs.
API-Referenz#
Form#
Basisklasse fuer Shape-Actors.
- class miniworlds.actors.shapes.shapes.Shape(position=(0, 0), *args, **kwargs)[Quellcode]#
Base class for geometric actors.
Formen teilen die gemeinsamen Darstellungs-Eigenschaften
border,is_filled,fill_colorundborder_colorvon Actor.Beispiele
shape.fill_color = (255, 0, 0) shape.border = 2
- get_costume_class()[Quellcode]#
- Rückgabetyp:
ShapeCostume
- new_costume()[Quellcode]#
Erzeugt ein neues leeres Costume und hängt es an diesen Actor an.
- Rückgabetyp:
ShapeCostume
Punkt#
- class miniworlds.actors.shapes.shapes.Point(position)[Quellcode]#
Circle with radius 1.
- Parameter:
position – Punktposition als
(x, y).
Beispiele
point = Point((10, 10))
- __init__(position)[Quellcode]#
Create a point at a position.
Kreis#
- class miniworlds.actors.shapes.shapes.Circle(position=(0.0, 0.0), radius=10.0, *args, **kwargs)[Quellcode]#
Kreisform.
- Parameter:
position – Mittelpunkt als
(x, y).radius – Kreisradius in Pixeln.
Beispiele
circle = Circle((200, 100), 20) circle.fill_color = (255, 0, 0) circle = Circle.from_topleft((100, 100), 50)
- __init__(position=(0.0, 0.0), radius=10.0, *args, **kwargs)[Quellcode]#
Erzeuge einen Kreis.
- Parameter:
position – Mittelpunkt als
(x, y).radius – Kreisradius in Pixeln.
- classmethod from_center(position, radius, **kwargs)[Quellcode]#
Erzeuge einen Kreis, der über seinen Mittelpunkt positioniert wird.
- Parameter:
position – Mittelpunkt als
(x, y).radius – Kreisradius in Pixeln.
- Rückgabe:
The created circle.
- classmethod from_topleft(position, radius, **kwargs)[Quellcode]#
Erzeuge einen Kreis, der über seine linke obere Ecke positioniert wird.
- Parameter:
position – Top-left position as (x, y).
radius – Kreisradius in Pixeln.
- Rückgabe:
The created circle.
- get_costume_class()[Quellcode]#
- Rückgabetyp:
type[costume_mod.Costume]
- new_costume()[Quellcode]#
Erzeugt ein neues leeres Costume und hängt es an diesen Actor an.
Ellipse#
- class miniworlds.actors.shapes.shapes.Ellipse(position=(0, 0), width=10, height=10, *args, **kwargs)[Quellcode]#
Elliptic shape.
- Parameter:
position – Top-left position as (x, y).
width – Breite der Ellipse in Pixeln.
height – Höhe der Ellipse in Pixeln.
Beispiele
ellipse = Ellipse((200, 100), 20, 30) ellipse = Ellipse.from_center((100, 100), 10, 10)
- check_arguments(position, width, height)[Quellcode]#
Prüft die Konstruktorargumente für
Ellipse.- Parameter:
position – Position als
(x, y).width – Breite der Ellipse in Pixeln.
height – Höhe der Ellipse in Pixeln.
- Verursacht:
EllipseWrongArgumentsError – If position is not a tuple.
- classmethod from_center(position, width, height, **kwargs)[Quellcode]#
Create an ellipse positioned by its center.
- classmethod from_topleft(position, width, height, **kwargs)[Quellcode]#
Erzeuge eine Ellipse, die über ihre linke obere Ecke positioniert wird.
- get_costume_class()[Quellcode]#
- Rückgabetyp:
type[costume_mod.Costume]
- new_costume()[Quellcode]#
Erzeugt ein neues leeres Costume und hängt es an diesen Actor an.
Linie#
- class miniworlds.actors.shapes.shapes.Line(start_position, end_position, *args, **kwargs)[Quellcode]#
Linienform zwischen zwei Positionen.
- Parameter:
start_position – Start position as (x, y).
end_position – End position as (x, y).
Beispiele
line = Line((200, 100), (400, 100)) line.border = 2
- property direction#
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:
- get_bounding_box()[Quellcode]#
Gibt das rechteckige Begrenzungsrechteck zurück, das die Linie enthält.
- Rückgabe:
Begrenzungsrechteck einschließlich Linienstärke.
- get_costume_class()[Quellcode]#
- Rückgabetyp:
type[costume_mod.Costume]
- new_costume()[Quellcode]#
Erzeugt ein neues leeres Costume und hängt es an diesen Actor an.
Rechteck#
- class miniworlds.actors.shapes.shapes.Rectangle(position=(0, 0), width=10, height=10, *args, **kwargs)[Quellcode]#
Rectangular shape.
- Parameter:
position – Top-left position as (x, y).
width – Breite des Rechtecks in Pixeln.
height – Höhe des Rechtecks in Pixeln.
Beispiele
rectangle = Rectangle((200, 100), 20, 10)
- classmethod from_center(position, width, height)[Quellcode]#
Create a rectangle positioned by its center.
- classmethod from_topleft(position, width, height)[Quellcode]#
Erzeuge ein Rechteck, das über seine linke obere Ecke positioniert wird.
- get_costume_class()[Quellcode]#
- Rückgabetyp:
type[costume_mod.Costume]
- new_costume()[Quellcode]#
Erzeugt ein neues leeres Costume und hängt es an diesen Actor an.
Polygon#
Triangle#
- class miniworlds.actors.shapes.shapes.Triangle(p1, p2, p3, *args, **kwargs)[Quellcode]#
Eine Dreiecksform, die durch drei Eckpunkte definiert ist.
- Parameter:
p1 – Erste Ecke als
(x, y).p2 – Zweite Ecke als
(x, y).p3 – Dritte Ecke als
(x, y).
Beispiele
triangle = Triangle((100, 50), (50, 150), (150, 150)) triangle.fill_color = (255, 165, 0)
Arc#
- class miniworlds.actors.shapes.shapes.Arc(position=(0, 0), width=10, height=10, start_angle=0, end_angle=0, *args, **kwargs)[Quellcode]#
Elliptic arc shape.
- Parameter:
position – Top-left position as (x, y).
width – Breite des Bogens in Pixeln.
height – Höhe des Bogens in Pixeln.
start_angle – Startwinkel in Grad.
end_angle – Endwinkel in Grad.
Beispiele
arc = Arc((20, 20), 100, 60, 0, 180)
- classmethod from_center(position, width, height, start_angle=0, end_angle=360, **kwargs)[Quellcode]#
Erzeuge einen Bogen, der über seinen Mittelpunkt positioniert wird.