Skip to content
Snippets Groups Projects
Commit fab67f41 authored by codecraft's avatar codecraft :crocodile:
Browse files

docs: clarify usage of `Teleport`

parent af42f9a8
No related branches found
No related tags found
No related merge requests found
...@@ -311,3 +311,40 @@ rotate_image("Dateiname des Bildes", (Zahl um wie viel Grad das Bild gedreht wer ...@@ -311,3 +311,40 @@ rotate_image("Dateiname des Bildes", (Zahl um wie viel Grad das Bild gedreht wer
## Neustarten des Programmes ## Neustarten des Programmes
Code immer wieder zu stoppen und zu starten kann nervig sein. Daher kann die `retry()` ein Programm einfacher neustarten. Dabei braucht sie immer `__file__` als _Parameter_.**Diese Funktion sollte nur äußerst sparsam genutzt werden, da die vielen Prozesse sehr schnell zu viel für den Computer werden können.** Code immer wieder zu stoppen und zu starten kann nervig sein. Daher kann die `retry()` ein Programm einfacher neustarten. Dabei braucht sie immer `__file__` als _Parameter_.**Diese Funktion sollte nur äußerst sparsam genutzt werden, da die vielen Prozesse sehr schnell zu viel für den Computer werden können.**
## Teleportation
Damit sich der Spieler teleportieren kann, stellen wir eine `Teleport`-Objekt bereit.
Dies kann man so erstellen:
```python
Teleport(x, y, width, height, direction, channels)
```
`x` stellt die Position des Teleport-pads auf der X-Achse dar, `y` analog auf der Y-Achse.
`width` stellt die Breite und `height` die Höhe des Pads dar.
`direction` sagt in welche richtung das Pad teleportiert. Die möglichen Optionen sind:
- "in" -> Das Pad akzeptiert nur, dass Spieler in das Teleport gehen.
- "out" -> Das pad akzeptiert nur, dass Spieler aus dem Pad rauskommen
- "inout" -> Das pad ist ein beidseitiger Kanal.
`channels` An welche Kanale oder Unterräume das Pad gebunden ist, alle Pads die
auf einem Channel sind sind verbunden. Es kann maximal ein `out` oder `inout`
Teleport auf einem channel geben, ein `in`-Teleport darf nicht zu mehreren
`outs` zeigen.
Angewandt kann das dann so aussehen:
```python
# Teleport Spritegruppe erstellen
teleports = pygame.sprite.RenderClear()
...
# In der Mapladefunktion auf teleport pads prüfen
if objects.name == "teleporter_in":
teleports.add(Teleport(objects.x, objects.y, objects.width, objects.height, "in", [0]))
if objects.name == "teleporter_out":
teleports.add(Teleport(objects.x, objects.y, objects.width, objects.height, "out", [0]))
...
# Bei der Spielererstellung das Teleport-Argument hinzufügen:
player = LinearPlayer((32,32),(48,48) ,"yeti.png", tilemap, platforms, teleports) # Spieler erzeugen
^^^^^^^^^
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment