📚 API Quick Reference
Window & App
arcade.Window(w, h, title)
Hauptfenster-Klasse. Basis für alle Arcade-Spiele.
arcade.open_window(w, h, title)
Schnelles Fenster ohne Klasse öffnen.
arcade.run()
Event Loop starten. Blockierend.
arcade.exit()
Spiel beenden.
window.set_fullscreen(True/False)
Vollbild ein/ausschalten.
window.show_view(view)
Zu einem anderen View wechseln.
arcade.get_fps()
Aktuelle FPS als float zurückgeben.
arcade.enable_timings()
Performance-Timing aktivieren.
arcade.set_background_color(c)
Hintergrundfarbe setzen.
window.set_mouse_visible(bool)
Mauscursor ein/ausblenden.
Drawing Functions
draw_circle_filled(cx,cy,r,color)
Ausgefüllter Kreis.
draw_circle_outline(cx,cy,r,color,bw)
Kreis-Umriss. bw=Linienbreite.
draw_ellipse_filled(cx,cy,w,h,color)
Ausgefüllte Ellipse.
draw_lbwh_rectangle_filled(l,b,w,h,c)
Rechteck via left/bottom/width/height.
draw_lrbt_rectangle_filled(l,r,b,t,c)
Rechteck via left/right/bottom/top.
draw_rectangle_outline(cx,cy,w,h,c,bw)
Rechteck-Umriss. bw=Linienbreite.
draw_line(x1,y1,x2,y2,color,lw)
Linie zwischen zwei Punkten.
draw_lines(point_list, color, lw)
Mehrere verbundene Linien.
draw_triangle_filled(x1,y1,...,color)
Ausgefülltes Dreieck.
draw_polygon_filled(points, color)
Beliebiges ausgefülltes Polygon.
draw_arc_filled(cx,cy,w,h,c,sa,ea)
Bogen/Arc. sa/ea=Start/End-Winkel.
draw_text(text,x,y,color,size,...)
Text zeichnen. Viele Optionen.
arcade.Text(text,x,y,color,size)
Performantes Text-Objekt mit .draw().
draw_point(x,y,color,size)
Einzelnen Punkt zeichnen.
draw_points(point_list,color,size)
Mehrere Punkte auf einmal.
Sprites & SpriteLists
arcade.Sprite(filename, scale)
Sprite aus Bilddatei. Viele optionale Parameter.
arcade.SpriteSolidColor(w,h,color)
Einfarbiger Rechteck-Sprite.
arcade.SpriteCircle(radius,color)
Kreis-Sprite.
arcade.SpriteList(use_spatial_hash)
GPU-optimierte Sprite-Liste.
sprite_list.append(sprite)
Sprite zur Liste hinzufügen.
sprite_list.draw()
Alle Sprites in einem Draw Call.
sprite_list.update()
Alle Sprites updaten.
sprite.remove_from_sprite_lists()
Aus allen Listen entfernen.
check_for_collision(s1,s2)
Kollision zweier Sprites → bool.
check_for_collision_with_list(s,l)
Kollision mit Liste → [sprites].
get_sprites_at_point(point, list)
Sprites an einem Punkt finden.
arcade.load_texture(filename)
Textur laden und cachen.
sprite_list.draw_hit_boxes(color)
Hit Boxes debuggen.
get_distance_between_sprites(a,b)
Abstand zwischen zwei Sprites.
Physics Engines
PhysicsEngineSimple(player, walls)
Einfache Engine ohne Gravitation.
PhysicsEnginePlatformer(player, walls, gravity)
Plattformer mit Schwerkraft.
PymunkPhysicsEngine(damping, gravity)
Realistische Physik via Pymunk.
physics_engine.update()
Physik-Schritt ausführen.
physics_engine.can_jump()
Platf.: Kann Spieler springen? → bool
pymunk_engine.add_sprite(s, ...)
Sprite zur Pymunk-Engine hinzufügen.
pymunk_engine.apply_force(s, force)
Kraft auf Sprite anwenden.
pymunk_engine.add_collision_handler()
Kollisions-Callback registrieren.
Sound
arcade.load_sound(path, streaming)
Sound laden. streaming=True für Musik.
arcade.play_sound(sound, volume, pan, loop)
Sound abspielen → player.
arcade.stop_sound(player)
Wiedergabe stoppen.
player.volume
Lautstärke (0.0–1.0) get/set.
player.playing
Läuft der Sound noch? → bool
player.pause() / player.play()
Sound pausieren/fortsetzen.
Camera & Views
arcade.Camera2D()
Einfache 2D-Kamera.
with camera.activate(): ...
Kamera für Draw-Block aktivieren.
camera.position
Kameraposition (x, y) get/set.
camera.zoom
Zoom-Faktor get/set.
arcade.View
Basisklasse für Spielzustände.
window.show_view(view)
View wechseln.
arcade.Section(l,b,w,h)
Bildschirmbereich als unabh. Section.
view.add_section(section)
Section zu View hinzufügen.
GUI Widgets
arcade.gui.UIManager()
Zentrale GUI-Verwaltung.
manager.enable() / .disable()
Event-Verarbeitung ein/aus.
manager.draw()
Alle Widgets zeichnen.
UIFlatButton(text, width, style)
Einfacher Klick-Button.
UILabel(text, font_size, ...)
Text-Anzeige-Widget.
UIInputText(text, width, height)
Texteingabe-Feld.
UISlider(value, min_value, max_value)
Schieberegler.
UICheckBox()
Checkbox / Toggle.
UIDropdown(options, default)
Auswahlmenü.
UIBoxLayout(vertical, space_between)
Box-Layout (vertikal/horizontal).
UIGridLayout(col_count, row_count)
Raster-Layout.
UIAnchorWidget(anchor_x, anchor_y)
Positionierungs-Wrapper.
Math & Geometry
arcade.get_distance(x1,y1,x2,y2)
Euklidischer Abstand zwischen Punkten.
arcade.get_angle_degrees(x1,y1,x2,y2)
Winkel zwischen zwei Punkten in Grad.
arcade.rotate_point(x,y,cx,cy,angle)
Punkt um Zentrum rotieren.
arcade.lerp(v1, v2, u)
Lineare Interpolation. u=0..1.
arcade.lerp_2d(p1, p2, u)
2D-Punkt-Interpolation.
arcade.has_line_of_sight(p1,p2,walls)
Sichtlinie zwischen zwei Punkten.
arcade.clamp(val, lo, hi)
Wert auf Bereich begrenzen.
arcade.astar_calculate_path(...)
A*-Pathfinding-Pfad berechnen.
Vec2(x, y)
2D-Vektor mit Operatoren.
Tilemap & Scene
arcade.load_tilemap(file, scale, options)
.tmx Tilemap laden.
arcade.Scene.from_tilemap(tilemap)
Scene aus Tilemap erstellen.
arcade.Scene()
Manuelle Scene erstellen.
scene.add_sprite_list(name, ...)
Benannten Layer hinzufügen.
scene.add_sprite(layer_name, sprite)
Sprite zu Layer hinzufügen.
scene.draw()
Alle Layer in Reihenfolge zeichnen.
scene["layer_name"]
SpriteList eines Layers abrufen.
Keyboard Keys
| Konstante | Taste | Konstante | Taste |
|---|---|---|---|
| arcade.key.UP | ↑ Pfeil | arcade.key.W | W |
| arcade.key.DOWN | ↓ Pfeil | arcade.key.S | S |
| arcade.key.LEFT | ← Pfeil | arcade.key.A | A |
| arcade.key.RIGHT | → Pfeil | arcade.key.D | D |
| arcade.key.SPACE | Leertaste | arcade.key.ENTER | Enter |
| arcade.key.ESCAPE | Escape | arcade.key.SHIFT | Shift |
| arcade.key.LSHIFT | Links-Shift | arcade.key.CTRL | Strg |
| arcade.key.F1–F12 | Funktionstasten | arcade.key.NUM_0–9 | Numpad |
Schnellstart-Beispiel
PYTHON – Vollständiges Beispiel
import arcade
class Game(arcade.Window):
def __init__(self):
super().__init__(800, 600, "SampleCraft")
arcade.set_background_color(arcade.color.DARK_BLUE_GRAY)
def setup(self):
self.player = arcade.Sprite(":resources:images/animated_characters/female_person/femalePerson_idle.png", 0.5)
self.player.center_x = 400
self.player.center_y = 300
self.camera = arcade.Camera2D()
self.score_text = arcade.Text("Score: 0", 10, 570, arcade.color.WHITE, 20)
def on_draw(self):
self.clear()
with self.camera.activate():
self.player.draw()
self.score_text.draw()
def on_update(self, delta_time):
self.camera.position = (self.player.center_x, self.player.center_y)
game = Game()
game.setup()
arcade.run()
Keyboard Key Tester
Drücke eine Taste um den arcade.key.* Konstantennamen zu sehen:
Interaktiver Key-Tester – Drücke irgendeine Taste
⌨️
Drücke eine Taste...