Actor > Widgets#
Verwenden Sie Button, wenn ein Widget einfach nur eine Nachricht senden soll.
API-Referenz#
Etikett#
- class miniworlds.actors.widgets.label.Label(position: Tuple[float, float] | None = (0, 0), *args, **kwargs)[Quellcode]#
Text-Label für die Verwendung in einer
Toolbar.Labelwird typischerweise für Überschriften, Statustexte, Punkte oder andere Informationen in einer Toolbar verwendet.- Parameter:
text – Der Text, der im Label angezeigt wird.
image – Optionaler Pfad zu einem Bild, das statt des Textes oder zusätzlich dazu angezeigt wird.
Beispiele
toolbar = Toolbar() score_label = Label("Score: 0") toolbar.add(score_label) world.camera.add_right(toolbar)
- __init__(text, image=None)[Quellcode]#
Erzeuge ein Label-Widget.
- Parameter:
text – Der vom Label angezeigte Text.
image – Optionaler Bildpfad.
Input#
- class miniworlds.actors.widgets.input.Input(position: Tuple[float, float] | None = (0, 0), *args, **kwargs)[Quellcode]#
Text-Eingabefeld zur Verwendung in einer
Toolbar.Klicke in das Feld, um es zu fokussieren, und tippe dann, um Text einzugeben. Der Textcursor lässt sich mit den Pfeiltasten bewegen; BACKSPACE löscht das Zeichen links vom Cursor und DELETE das Zeichen rechts vom Cursor. Es können höchstens
max_charsZeichen eingegeben werden.Solange das Eingabefeld fokussiert ist, blinkt der Textcursor; ohne Fokus wird der Cursor ausgeblendet.
Beispiele
toolbar = Toolbar() name_input = Input((0, 0)) name_input.max_chars = 20 toolbar.add(name_input) world.camera.add_right(toolbar)
- property cursor_position#
- property max_chars#
- on_focus()[Quellcode]#
- on_focus_lost()[Quellcode]#
- on_key_down(keys)[Quellcode]#
Wird einmal aufgerufen, wenn eine Taste gedrückt wird.
Registriere
on_key_down_<buchstabe>(zum Beispielon_key_down_a), wenn nur auf einen bestimmten Buchstaben reagiert werden soll.Für Pfeiltasten verwende
on_key_down_left,on_key_down_right,on_key_down_upoderon_key_down_down.- Parameter:
key – Liste von Varianten des Tastennamens, 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_text_input(text)[Quellcode]#
Fügt zusammengesetzten Text (inklusive Umlaute und Leerzeichen) an der Cursorposition ein.
Druckbare Zeichen kommen über das
text_input-Ereignis an, daher werden Tastennamen wie “SPACE” nie als wörtlicher Text eingefügt.
- set_text(text)[Quellcode]#
Setzt den Text des Widgets.
Werte vom Typ int und float werden in Zeichenketten umgewandelt.
- update_cursor()[Quellcode]#
CounterLabel#
- class miniworlds.actors.widgets.counter.CounterLabel(position: Tuple[float, float] | None = (0, 0), *args, **kwargs)[Quellcode]#
Ein Zähler-Label enthält eine
descriptionund einencounter.Der Zähler startet mit dem Wert 0 und kann mit
addundsubverändert werden.- add(value)[Quellcode]#
Erhöhe den Zähler um
value.
- get_value()[Quellcode]#
- set(value)[Quellcode]#
- sub(value)[Quellcode]#
Verringere den Zähler um
value.
- update_text()[Quellcode]#
FPSLabel#
- class miniworlds.actors.widgets.fps.FPSLabel(world=None, text='FPS', img_path=None)[Quellcode]#
Label, das die gemessenen Frames pro Sekunde anzeigt.
Das Label misst die Zeit zwischen zwei Frames selbst; ein Clock-Objekt ist nicht nötig. Füge es zu einer
Toolbarhinzu, damit es einmal pro Frame aktualisiert wird.- Parameter:
world – Optionale Welt (wird ignoriert; dient der Abwärtskompatibilität).
text – Präfix, das vor dem gemessenen Wert angezeigt wird.
img_path – Optionaler Pfad zu einem Bild, das neben dem Text angezeigt wird.
Beispiele
toolbar = Toolbar() toolbar.add(FPSLabel(text="FPS")) world.camera.add_right(toolbar)
TimeLabel#
- class miniworlds.actors.widgets.time.TimeLabel(world=None, text='Time', img_path=None)[Quellcode]#
Label, das die aktuelle Frame-Nummer einer Welt anzeigt.
- Parameter:
world – Die Welt, deren Frame-Zähler angezeigt wird. Wird keine Welt übergeben, wird die Welt verwendet, zu der das Widget hinzugefügt wird.
text – Präfix, das vor der Frame-Nummer angezeigt wird.
img_path – Optionaler Pfad zu einem Bild, das neben dem Text angezeigt wird.
Beispiele
toolbar = Toolbar() toolbar.add(TimeLabel(world, text="Frame")) world.camera.add_right(toolbar)