Beliebte Beiträge Auf Dem Pc Und Software

Top Artikel Auf Internet - 2018

Laden und Speichern von Spieldaten im Corona SDK (LUA / SQLite)

Eine Sache, die fast jede App und jedes Spiel gemeinsam hat, ist die Notwendigkeit, Daten zu speichern und abzurufen. Selbst das einfachste Spiel kann SQLite verwenden, um die Versionsnummer der App zu speichern, die verwendet werden kann, um die Kompatibilität bei Upgrades zu gewährleisten, oder einfache Einstellungen wie das Ein- oder Ausschalten des Spiels.

Wenn Sie noch nie viel mit Datenbanken gearbeitet oder die Datenbankfunktionen im Corona SDK verwendet haben, machen Sie sich keine Sorgen. Dank der Leistungsfähigkeit von LUA und der im Corona SDK verwendeten SQLite-Datenbank-Engine ist dies ein relativ unkomplizierter Prozess. In diesem Lernprogramm erfahren Sie, wie Sie eine Einstellungstabelle erstellen und Informationen speichern und abrufen können. So entwickeln Sie iPad-Apps.

Denken Sie auch daran, dass diese Technik über das Speichern von Benutzereinstellungen hinausgehen kann. Zum Beispiel, wenn Sie ein Spiel haben, das mit verschiedenen Spielmodi wie "Story" -Modus und "Arcade" -Modus gespielt werden kann. Diese Einstellungstabelle kann zum Speichern des aktuellen Modus verwendet werden. Oder andere Daten, die Sie persistent halten möchten, selbst wenn der Benutzer das Spiel verlässt und neu startet.

Schritt 1: Initialisieren der Datenbank und Erstellen der Settings-Tabelle

Als erstes müssen wir die SQLite-Bibliothek deklarieren und unserer App mitteilen, wo sie die Datenbankdatei finden kann. Der beste Ort, um diesen Code zu platzieren, ist ganz oben in der Datei main.lua, zusammen mit den anderen require-Anweisungen. Die Datenbankdatei wird erstellt, wenn keine gefunden wird, und wir speichern sie im Ordner "Dokumente", damit wir daraus lesen und schreiben können.

erfordert "sqlite3"
local data_path = system.pathForFile ("data.db", system.DocumentsDirectory);
db = sqlite3.open (data_path);

Beachten Sie, wie die Variable "db" ist nicht lokalisiert. Wir haben dies getan, um sicherzustellen, dass wir während unseres gesamten Projekts auf die Datenbank zugreifen können. Sie können auch eine spezifische .Lua-Datei für alle Datenbankfunktionen erstellen und die Datenbank in dieser Datei lokalisieren.

Als nächstes müssen wir die Datenbanktabelle erstellen, in der unsere Einstellungen gespeichert werden:

local sql = "CREATE TABLE WENN NOT EXISTS Einstellungen (Name, Wert);"
db: exec (sql);

Diese Aussage erstellt unsere Einstellungstabelle. Es ist in Ordnung, es jedes Mal zu starten, wenn die App geladen wird. Wenn die Tabelle bereits existiert, wird diese Anweisung nichts bewirken. Sie können diese Anweisung genau dort platzieren, wo wir die Datenbank deklariert haben oder in der Funktion, mit der die App eingerichtet wird. Die Hauptanforderung ist (1) diese Anweisungen bei jedem Start der App auszuführen und (2) sie vor allen Aufrufen zum Laden oder Speichern von Einstellungen auszuführen.

Schritt 2: Einstellungen in der Datenbank speichern

Funktion setSetting (Name, Wert)
sql = "DELETE FROM Einstellungen WHERE name = '" .. name .. "'";
db: exec (sql)

sql = "INSERT INTO-Einstellungen (Name, Wert) VALUES ('" ..name ..' ', ".. value .."); ";
db: exec ( sql)
Ende

Funktion setSettingString (Name, Wert)
setSetting (Name, "'" .. Wert .. "'");
Ende

Die Funktion setSetting löscht alle vorherigen Einstellungen auf dem Tisch gespeichert und fügt unseren neuen Wert ein. Es funktioniert sowohl mit Ganzzahlen als auch mit Strings, aber das Speichern einer Zeichenfolge erfordert einfache Anführungszeichen um den Wert herum. Daher haben wir die Funktion setSettingString verwendet, um diese zusätzliche Arbeit für uns zu erledigen.

Schritt 3: Einstellungen aus der Datenbank laden

Funktion getSetting (Name)

local sql = "SELECT * FROM Einstellungen WHERE name = '" .. name .. "'";
lokaler Wert = -1;

für die Zeile in db: nrows (sql)
value = row.value;
end

Senden Sie Ihren Kommentar