Erstelle 2D-Spiele mit Tiniest2D
Engine-API-Referenz
Lesson 8 of 11 • 10 XP
Keep your place in this quest
Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.
API Referenz
Vollständige API Referenz
Auch in Kurzform im Editor selbst verfügbar:

Asset-Konstruktoren
Konstruktoren erstellen die Hauptasset-Typen, die vom Editor verwendet werden. Wenn du einen einer Variablen zuweist, erkennt der Editor ihn und ermöglicht es dir, den passenden Asset-Editor mit Strg+Klick zu öffnen.
| Funktion | Beschreibung |
|---|---|
Sprite(width, height) |
Erstellt ein Sprite-Asset mit angegebenen Abmessungen |
Scene() oder Scene(name) |
Erstellt ein Szene-Asset |
Audio() |
Erstellt ein kleines Tracker-Stil Audio-Asset |
Object() oder Object(name) |
Erstellt ein Spielobjekt |
Listenmethoden
Erstelle Listen mit [] oder [value1, value2, ...]. Lese und überschreibe Einträge mit list[index] und iteriere mit for (var i = 0; i < list.length(); i = i + 1).
| Funktion | Beschreibung |
|---|---|
list.add(value) |
Hängt einen Wert am Ende der Liste an |
list.length() |
Gibt die Anzahl der Elemente in der Liste zurück |
list.remove(index) |
Entfernt das Element am angegebenen Index |
list.clear() |
Entfernt alle Elemente aus der Liste |
Operatoren
Operatoren sind kleine Symbole, die gängige Berechnungen durchführen. Der Modulo-Operator ist besonders nützlich für das Wrappen von Timern, Indizes, Animationsschritten oder sich wiederholenden Mustern.
| Operator | Beschreibung |
|---|---|
% |
Modulo. Gibt den Rest nach der Division zurück |
Objekt-Eigenschaften
Objekte sind die Dinge, die dein Skript normalerweise während des Spiels bewegt und ändert. Diese Funktionen lesen oder aktualisieren die Position, das Sprite, das Kollisionsverhalten, die Schicht und den visuellen Farbton eines Objekts.
| Funktion | Beschreibung |
|---|---|
getX(obj) |
Gibt die X-Position des Objekts zurück |
setX(obj, x) |
Setzt die X-Position des Objekts |
getY(obj) |
Gibt die Y-Position des Objekts zurück |
setY(obj, y) |
Setzt die Y-Position des Objekts |
getVelocityX(obj) |
Gibt die X-Geschwindigkeit des Objekts zurück |
setVelocityX(obj, vx) |
Setzt die X-Geschwindigkeit des Objekts |
getVelocityY(obj) |
Gibt die Y-Geschwindigkeit des Objekts zurück |
setVelocityY(obj, vy) |
Setzt die Y-Geschwindigkeit des Objekts |
getName(obj) |
Gibt den Namen des Objekts zurück |
setName(obj, name) |
Setzt den Namen des Objekts |
getSprite(obj) |
Gibt das Sprite des Objekts zurück |
setSprite(obj, sprite) |
Weist ein Sprite dem Objekt zu (setzt die Animation auf Frame 0 zurück) |
getLayer(obj) |
Gibt die Zeichenschicht des Objekts zurück |
setLayer(obj, layer) |
Setzt die Zeichenschicht des Objekts (höher = später gezeichnet) |
getTint(obj) |
Gibt den Farbton als [r, g, b, a]-Liste zurück |
setTint(obj, r, g, b, a) |
Setzt den Farbton des Objekts (0-255 jeweils) |
getCollisionType(obj) |
Gibt die Kollisionsartnummer zurück |
setCollisionType(obj, type) |
Setzt die Kollisionsart |
Sprite-Funktionen
Sprite-Funktionen ermöglichen es, den Sprite-Pixeldaten und die Animationsgeschwindigkeit zu inspizieren oder zu modifizieren. Die meisten Spiele zeichnen Sprites im Editor, aber diese Funktionen sind nützlich für prozedurale Effekte, Debugging oder einfache Laufzeitanpassungen.
| Funktion | Beschreibung |
|---|---|
fillSprite(sprite, r, g, b, a) |
Füllt alle Pixel aller Frames mit einer soliden RGBA-Farbe (0-255) |
getPixel(sprite, frame, x, y) |
Gibt [r,g,b,a] des Pixels an (x,y) im angegebenen Frame zurück oder null, wenn außerhalb der Grenzen |
setPixel(sprite, frame, x, y, r, g, b, a) |
Setzt die Pixel-Farbe an (x,y) im angegebenen Frame. Nichts geschieht, wenn außerhalb der Grenzen |
getAnimationFPS(sprite) |
Gibt die Animationsgeschwindigkeit des Sprites in Frames pro Sekunde zurück |
setAnimationFPS(sprite, fps) |
Setzt die Animationsgeschwindigkeit des Sprites in Frames pro Sekunde |
Animationsfunktionen
Animationsfunktionen arbeiten an Objekten, die Sprites mit mehreren Frames verwenden. Verwende sie, wenn du willst, dass Code die aktuelle Animationsframe inspiziert oder gezwungen wird.
| Funktion | Beschreibung |
|---|---|
getFrame(obj) |
Gibt den aktuellen Animationsframe-Index des Objekts zurück |
setFrame(obj, frameIndex) |
Setzt den Animationsframe des Objekts (setzt den Timer zurück) |
getFrameCount(obj) |
Gibt die Anzahl der Frames im Sprite des Objekts zurück |
Transformationsfunktionen (Flip/Rotation)
Transformationsfunktionen ändern, wie das Sprite eines Objekts gezeichnet wird, ohne das Sprite selbst zu bearbeiten. Sie sind gut, um ein Sprite in mehreren Richtungen wiederzuverwenden.
| Funktion | Beschreibung |
|---|---|
getFlipX(obj) |
Gibt zurück, ob das Objekt horizontal gespiegelt ist |
setFlipX(obj, flip) |
Setzt die horizontale Spiegelung. true = gespiegelt, false = normal |
getFlipY(obj) |
Gibt zurück, ob das Objekt vertikal gespiegelt ist |
setFlipY(obj, flip) |
Setzt die vertikale Spiegelung. true = gespiegelt, false = normal |
getRotation(obj) |
Gibt die 90-Grad-Rotation des Objekts zurück (0-3) |
setRotation(obj, rot) |
Setzt die 90-Grad-Rotation: 0=0, 1=90, 2=180, 3=270 Grad im Uhrzeigersinn |
Hinweis: Diese Transformationen werden nur zur Renderzeit angewendet. Sie beeinflussen nicht die Kollisionskästen oder tatsächlichen Sprite-Pixeldaten.
Kollisionsarten
Kollisionsarten entscheiden, wie ein Objekt an Kollisionsprüfungen teilnimmt. Wähle den Typ basierend auf der Rolle des Objekts: Wände sind normalerweise statisch, Spieler normalerweise dynamisch und Abholungen oft Trigger.
| Konstante | Wert | Beschreibung |
|---|---|---|
COLLISION_NONE() |
0 | Keine Kollisionsdetektion |
COLLISION_STATIC() |
1 | Kollidiert, bewegt sich aber nicht |
COLLISION_DYNAMIC() |
2 | Kollidiert und wird herausgeschoben |
COLLISION_TRIGGER() |
3 | Erkennt Kollisionsereignisse, blockiert aber nicht |
Szenenfunktionen
Szenenfunktionen steuern, welche Szene aktiv ist, welche Objekte sich darin befinden und szenenweite Einstellungen wie Hintergrundfarbe und Schwerkraft. Sie bieten auch Suchhilfen, um Objekte an Positionen oder nach Namen zu finden.
| Funktion | Beschreibung |
|---|---|
addObject(scene, obj) |
Fügt ein Objekt zu einer Szene hinzu |
removeObject(scene, obj) |
Entfernt ein Objekt aus einer Szene |
setScene(scene) |
Setzt die aktive Szene |
getScene() |
Gibt die aktuelle aktive Szene zurück |
resetScene(scene) |
Setzt die Szene auf ihren ursprünglichen Zustand zurück (wie im Editor entworfen) |
setBackgroundColor(scene, r, g, b) |
Setzt die Hintergrundfarbe der Szene (RGB 0-255) |
getBackgroundColor(scene) |
Gibt die Hintergrundfarbe als [r, g, b]-Liste zurück |
getGravityX(scene) |
Gibt die Schwerkraftkomponente X der Szene zurück |
setGravityX(scene, gx) |
Setzt die Schwerkraftkomponente X der Szene |
getGravityY(scene) |
Gibt die Schwerkraftkomponente Y der Szene zurück |
setGravityY(scene, gy) |
Setzt die Schwerkraftkomponente Y der Szene (positiv = unten) |
getObjectAt(scene, x, y) |
Gibt das erste Objekt an Punkt (x,y) zurück oder null |
getObjectsAt(scene, x, y) |
Gibt eine Liste aller Objekte an Punkt (x,y) zurück |
getObjectsInBox(scene, x, y, w, h) |
Gibt alle Objekte zurück, die den Kasten überlappen |
getObjectByName(scene, name) |
Findet ein Objekt nach Namen oder null, wenn nicht gefunden |
getObjectCount(scene) |
Gibt die Anzahl der Objekte in der Szene zurück |
getAllObjects(scene) |
Gibt eine Liste aller Objekte in der Szene zurück |
isObjectInScene(scene, obj) |
Gibt zurück, ob das Objekt in der Szene ist |
getObjectsBySprite(scene, sprite) |
Gibt alle Objekte zurück, die das angegebene Sprite verwenden |
getObjectsByCollisionType(scene, type) |
Gibt alle Objekte mit dem angegebenen Kollisions typ zurück |
Audio-Wiedergabe
Audio-Wiedergabefunktionen starten und stoppen Audio-Assets aus Skripten. playAudio() gibt ein Handle zurück, sodass du später diese spezifische Wiedergabeinstanz stoppen oder überprüfen kannst.
| Funktion | Beschreibung |
|---|---|
playAudio(audio) |
Startet ein Audio-Asset und gibt eine Wiedergabe-Handle-ID zurück |
stopAudio(handle) |
Stoppt ein Wiedergabe-Handle, das von playAudio() zurückgegeben wurde |
isAudioPlaying(handle) |
Gibt true zurück, solange das Wiedergabe-Handle weiterhin aktiv ist |
Bildschirmfunktionen
Bildschirmfunktionen helfen, wenn du die Fenstergröße wissen oder zwischen Bildschirm-Pixeln und Weltpositionen umwandeln musst. Dies ist nützlich für Maus-Zielen, Klickerkennung und kamera-bewusste UI.
| Funktion | Beschreibung |
|---|---|
getScreenWidth() |
Gibt die Bildschirm-/Fensterbreite in Pixeln zurück |
getScreenHeight() |
Gibt die Bildschirm-/Fensterhöhe in Pixeln zurück |
screenToWorld(screenX, screenY) |
Wandelt Bildschirm-Pixel-Koordinaten in Weltkoordinaten um. Gibt [worldX, worldY] zurück |
worldToScreen(worldX, worldY) |
Wandelt Weltkoordinaten in Bildschirm-Pixel-Koordinaten um. Gibt [screenX, screenY] zurück |
Fenster-Modus
Steuere den Fenster-Modus für exportierte Spiele. Diese Funktionen haben keine Wirkung, wenn du im Editor spielst (der Editor hat höhere Autorität über den Fensterzustand).
| Konstante | Wert | Beschreibung |
|---|---|---|
WINDOW_WINDOWED() |
0 | Regulärer Fenstermodus |
WINDOW_MAXIMIZED() |
1 | Maximiertes Fenster (Standard) |
WINDOW_FULLSCREEN() |
2 | Randloser Vollbildmodus |
| Funktion | Beschreibung |
|---|---|
getWindowMode() |
Gibt die aktuelle Fenster-Modus-Konstante zurück |
setWindowMode(mode) |
Setzt den Fenster-Modus. Funktioniert nur in exportierten Spielen |
Beispiel:
func start() {
// Setze den Fenster-Modus (WINDOW_MAXIMIZED ist der Standard für exportierte Spiele)
setWindowMode(WINDOW_MAXIMIZED())
}
Hinweis: Wenn setWindowMode() in einem exportierten Spiel nie aufgerufen wird, ist der Standard WINDOW_MAXIMIZED.
UI-Funktionen
Die UI verwendet eine virtuelle Bildschirmauflösungsauflösung. Der Standard-UI-Raum ist 100 x 100.
Die Schriftgröße kann für nachfolgende Text-Widgets mit uiPushFontSize(size) erhöht werden und mit uiPopFontSize() wiederhergestellt werden. Schriftfarben können mit uiPushFontColor(r, g, b[, a]) gestapelt werden, und UI-Elementfüllungen können mit uiPushElementColor(r, g, b[, a]) gestapelt werden. Wie bei der restlichen sofortigen UI gelten diese Überschreibungen während des Baus der UI des aktuellen Frames. Wenn die gepushte Größe 0 oder kleiner ist, verwendet die Engine die automatische Größe.
| Funktion | Beschreibung |
|---|---|
getUIResolutionX() |
Gibt die aktuelle virtuelle UI-Breite zurück |
setUIResolutionX(width) |
Setzt die virtuelle UI-Breite, die für nachfolgende UI-Aufrufe verwendet wird |
getUIResolutionY() |
Gibt die aktuelle virtuelle UI-Höhe zurück |
setUIResolutionY(height) |
Setzt die virtuelle UI-Höhe, die für nachfolgende UI-Aufrufe verwendet wird |
uiPushFontSize(size) |
Fügt einen Schriftgrößenskalierungswert für nachfolgende UI-Text hinzu. Werte <= 0 verwenden automatische Größenanpassung |
uiPopFontSize() |
Entfernt die zuletzt verwendete UI-Schriftgrößeneinstellung |
uiPushFontColor(r, g, b) oder uiPushFontColor(r, g, b, a) |
Fügt eine Schriftfarbe für nachfolgende UI-Texte hinzu |
uiPopFontColor() |
Entfernt die zuletzt verwendete UI-Schriftfarbe |
uiPushElementColor(r, g, b) oder uiPushElementColor(r, g, b, a) |
Fügt eine Füllfarbe für Kästchen, Schaltflächen, Umschalter, Schieberegler und Bildschaltflächen hinzu |
uiPopElementColor() |
Entfernt die zuletzt verwendete UI-Elementfarbe |
uiLabel(text, x, y) |
Zeichnet Text im Bildschirmraum an virtuellen UI-Koordinaten |
uiBox(x, y, w, h) |
Zeichnet ein einfaches Panel-Kästchen |
uiButton(text, x, y, w, h) |
Zeichnet eine Schaltfläche und gibt einen der UI_*()-Statuskonstanten zurück |
uiToggle(text, value, x, y, w, h) |
Zeichnet einen Umschalter und gibt den aktualisierten booleschen Wert zurück |
uiSlider(text, value, min, max, x, y, w, h) |
Zeichnet einen Schieberegler und gibt den aktualisierten numerischen Wert zurück |
uiSprite(sprite, x, y) |
Zeichnet ein Sprite im UI-Raum mit der natürlichen Größe des Sprites in UI-Einheiten |
uiSprite(sprite, x, y, w, h) |
Zeichnet ein Sprite im UI-Raum mit einer expliziten Größe |
uiImageButton(sprite, x, y, w, h) |
Zeichnet eine Bildschaltfläche und gibt einen der UI_*()-Statuskonstanten zurück |
UI-Zustandskonstanten
UI-Funktionen geben Zustandskonstanten zurück, sodass Ihr Skript feststellen kann, ob ein Widget inaktiv, schwebend, gehalten oder geklickt wurde. Normalerweise ist UI_CLICKED() der Wert, den Sie für Schaltflächenaktionen überprüfen.
| Konstanten | Wert | Beschreibung |
|---|---|---|
UI_IDLE() |
0 | Widget ist weder schwebend noch gedrückt |
UI_HOVERED() |
1 | Maus schwebt über dem Widget |
UI_HELD() |
2 | Maustaste ist auf dem Widget gedrückt |
UI_CLICKED() |
3 | Widget wurde in diesem Frame geklickt |
Kamera-Funktionen
Die Kameraposition repräsentiert das Zentrum der Ansicht. Der Zoom sorgt für eine konsistente vertikale Weltansicht unabhängig von der Bildschirmgröße.
| Funktion | Beschreibung |
|---|---|
getCameraX(scene) |
Gibt die Kameraposition X (Zentrum der Ansicht) zurück |
setCameraX(scene, x) |
Setzt die Kameraposition X |
getCameraY(scene) |
Gibt die Kameraposition Y (Zentrum der Ansicht) zurück |
setCameraY(scene, y) |
Setzt die Kameraposition Y |
getCameraZoom(scene) |
Gibt den Zoomlevel der Kamera zurück |
setCameraZoom(scene, zoom) |
Setzt den Kamerazoom. Zoom 1.0 zeigt 720 Welt-Einheiten vertikal, 3.0 zeigt 240 Einheiten. |
Zoom-Verhalten: Der Zoom sorgt für eine konsistente vertikale Weltansicht unabhängig von der Fenstergröße oder dem Seitenverhältnis. Breitere Bildschirme zeigen mehr horizontal, aber dieselbe vertikale Menge.
Eingabe-Funktionen
Eingabefunktionen ermöglichen dem Spiel, auf den Zustand von Tastatur und Maus zu reagieren. Verwenden Sie Pressed für Einzelframe-Aktionen, Held für kontinuierliche Bewegungen und Released für Aktionen, die beim Loslassen einer Taste stattfinden.
| Funktion | Beschreibung |
|---|---|
isKeyPressed(key) |
Wahr nur im Frame, in dem die Taste gedrückt wurde |
isKeyHeld(key) |
Wahr, solange die Taste gedrückt gehalten wird |
isKeyReleased(key) |
Wahr nur im Frame, in dem die Taste losgelassen wurde |
getMouseX() |
Gibt die Maus-X-Position in Bildschirmkoordinaten zurück |
getMouseY() |
Gibt die Maus-Y-Position in Bildschirmkoordinaten zurück |
getMouseDeltaX() |
Gibt die Maus-X-Bewegung in diesem Frame zurück |
getMouseDeltaY() |
Gibt die Maus-Y-Bewegung in diesem Frame zurück |
isMouseButtonPressed(button) |
Wahr nur im Frame, in dem die Maustaste gedrückt wurde |
isMouseButtonHeld(button) |
Wahr, solange die Maustaste gedrückt gehalten wird |
isMouseButtonReleased(button) |
Wahr nur im Frame, in dem die Maustaste losgelassen wurde |
getFPS() |
Gibt die aktuelle Bildrate pro Sekunde zurück |
Maus-Tastenkonstanten
Maus-Tastenkonstanten werden in die Maus-Eingabefunktionen übergeben. Sie machen den Code lesbarer als rohe Zahlen.
| Konstante | Beschreibung |
|---|---|
MOUSE_LEFT() |
Linke Maustaste |
MOUSE_RIGHT() |
Rechte Maustaste |
MOUSE_MIDDLE() |
Mittlere Maustaste |
Tastenkonstanten
Tastenkonstanten werden in die Tastatureingabefunktionen übergeben. Die Engine stellt Buchstaben, Zahlen, Funktionstasten, Pfeile und eine kleine Menge gemeinsamer Sondertasten bereit.
Buchstaben: KEY_A() bis KEY_Z()
Zahlen: KEY_0() bis KEY_9()
Funktionstasten: KEY_F1() bis KEY_F12()
Sondertasten:
| Konstante | Taste |
|----------|-----|
| KEY_SPACE() | Leertaste |
| KEY_ENTER() | Enter/Return |
| KEY_ESCAPE() | Escape |
| KEY_TAB() | Tab |
| KEY_BACKSPACE() | Rücktaste |
| KEY_DELETE() | Löschen |
| KEY_SHIFT() | Shift |
| KEY_CTRL() | Steuerung |
| KEY_ALT() | Alt |
| KEY_LEFT() | Linke Pfeiltaste |
| KEY_RIGHT() | Rechte Pfeiltaste |
| KEY_UP() | Obere Pfeiltaste |
| KEY_DOWN() | Untere Pfeiltaste |
| KEY_HOME() | Pos1 |
| KEY_END() | Ende |
Mathe-Funktionen
Mathe-Helfer decken häufige Berechnungen in Bewegung, Animation, Zufälligkeit und Wertgrenzen ab. Sie halten Skripte kürzer und einfacher zu lesen.
| Funktion | Beschreibung |
|---|---|
abs(n) |
Absoluter Wert |
min(a, b) |
Gibt das kleinere von zwei Zahlen zurück |
max(a, b) |
Gibt das größere von zwei Zahlen zurück |
clamp(value, min, max) |
Begrenz den Wert zwischen min und max |
lerp(a, b, t) |
Interpoliert linear von a nach b unter Verwendung von t |
floor(n) |
Rundet auf die nächste ganze Zahl nach unten |
ceil(n) |
Rundet auf die nächste ganze Zahl nach oben |
round(n) |
Rundet auf die nächste ganze Zahl |
sign(n) |
Gibt -1, 0 oder 1 zurück, abhängig vom Vorzeichen des Eingangs |
sqrt(n) |
Quadratwurzel |
pow(base, exponent) |
Hebt eine Basis auf einen Exponenten |
sin(radians) |
Sinus eines Winkels in Bogenmaß |
cos(radians) |
Kosinus eines Winkels in Bogenmaß |
tan(radians) |
Tangens eines Winkels in Bogenmaß |
random() |
Gibt eine zufällige Fließkommazahl zwischen 0.0 und 1.0 zurück |
randomRange(min, max) |
Gibt eine zufällige Fließkommazahl zwischen min und max zurück |
randomInt(min, max) |
Gibt eine zufällige Ganzzahl zwischen min und max (einschließlich) zurück |
PI() |
Gibt pi (3.14159...) zurück |
TAU() |
Gibt tau (2 * pi = 6.28318...) zurück |
TWOPI() |
Gibt 2 * pi (gleich wie TAU) zurück |
E() |
Gibt Eulers Zahl e (2.71828...) zurück |
deg2rad(degrees) |
Wandelt Grad in Bogenmaß um |
rad2deg(radians) |
Wandelt Bogenmaß in Grad um |
Utility-Funktionen
Utility-Funktionen sind allgemeine Helfer, die nicht zu einem bestimmten Asset-Typ gehören. print() ist besonders nützlich beim Lernen, da es zeigt, was Ihr Skript tut.
| Funktion | Beschreibung |
|---|---|
print(value) |
Gibt die Ausgabe für Debugging (im Spiel angezeigt) aus |
quitGame() |
Beendet das Spiel. Im Editor wird der Spielmodus gestoppt. In exportierten Spielen wird die Anwendung geschlossen |
String-Funktionen
String-Funktionen arbeiten mit Textwerten. Zurzeit ist dieser Abschnitt absichtlich klein.
| Funktion | Beschreibung |
|---|---|
strlen(string) |
Gibt die Länge eines Strings (Anzahl der Zeichen) zurück |
Speicherfunktionen
Speichern und Laden von Spieldaten in Dateien. Unterstützt Zahlen, Strings, Booleans und Listen (einschließlich verschachtelter Listen). Unterstützt keine Werte von Sprite, Scene, Object oder Audio.
| Funktion | Beschreibung |
|---|---|
save(path, data) |
Speichert Daten in einer Datei im Binärformat. Gibt true beim Erfolg zurück |
save(path, data, format) |
Speichert Daten mit dem angegebenen Format: "binary" oder "text" |
save(path, data, format, key) |
Speichert Daten mit Verschlüsselung unter Verwendung des angegebenen Schlüssel-Strings |
load(path) |
Lädt Daten aus einer Datei. Gibt die Daten oder null bei einem Fehler zurück |
load(path, key) |
Lädt verschlüsselte Daten unter Verwendung des angegebenen Schlüssel-Strings |
fileExists(path) |
Gibt true zurück, wenn die Datei an dem angegebenen Pfad existiert |
deleteFile(path) |
Löscht die Datei am angegebenen Pfad. Gibt true beim Erfolg zurück |
getAppDataPath() |
Gibt den AppData/Tiniest2D-Ordnerpfad zurück (erstellt ihn, falls erforderlich) |
getDocumentsPath() |
Gibt den Pfad zum Dokumentenordner des Benutzers zurück |
getGamePath() |
Gibt das Verzeichnis zurück, in dem die Spielanwendung gespeichert ist |
Beispiel: Speichern und Laden des Spielerfortschritts
// Spielerdaten speichern
var playerData = [100, "Player1", true, [1, 2, 3]]
var savePath = getAppDataPath() + "/MyGame/save.dat"
if (save(savePath, playerData)) {
print("Spiel gespeichert!")
}
// Spielerdaten laden
if (fileExists(savePath)) {
var loaded = load(savePath)
if (loaded != null) {
var health = loaded[0]
var name = loaded[1]
var hasKey = loaded[2]
var inventory = loaded[3]
}
}
// Verschlüsseltes speichern (zum Verbergen von Daten vor alltäglicher Prüfung)
var secretData = ["secret", 12345]
save(getAppDataPath() + "/MyGame/config.dat", secretData, "binary", "mySecretKey")
var decrypted = load(getAppDataPath() + "/MyGame/config.dat", "mySecretKey")
// Textformat (menschlich lesbar, nützlich für Debugging)
save(getAppDataPath() + "/MyGame/debug.txt", playerData, "text")
Hinweise:
- Binärformat (Standard) ist kompakt und schneller
- Textformat ist menschlich lesbar, nützlich für Debugging
- Falscher Verschlüsselungsschlüssel gibt
nullzurück (Daten sind Müll) - Verzeichnisse werden beim Speichern automatisch erstellt