Ki jan yo chaje ak sove jwèt Done nan SDK a Corona

KOUMAN POU SÈVI AK SQLite nan Store jwèt Done ak Anviwònman

Yon bagay prèske chak app ak jwèt gen an komen se bezwen nan magazen ak rekipere done. Menm jwèt la ki pi senp ka itilize SQLite pou konsève pou nimewo vèsyon an app, ki ka itilize asire konpatibilite lè ou fè amelyorasyon, oswa anviwònman senp tankou vire son jwèt la sou oswa sou.

Si ou pa janm te fè anpil travay ak baz done oswa itilize karakteristik yo ki baz done nan Corona SDK a , pa enkyete. Li aktyèlman yon pwosesis mèsi relativman senp nan pouvwa a nan LUA ak motè a baz done SQLite itilize nan Corona SDK la. Tutorial sa a ap mache nan pwosesis pou kreye yon tab anviwònman ak tou de estoke ak retwouve enfòmasyon ki soti nan li. Ki jan yo devlope iPad apps.

Epitou kenbe nan tèt ou ke teknik sa a ka ale pi lwen pase estoke anviwònman ki baze sou anviwònman. Pou egzanp, sa ki si ou gen yon jwèt ki ka jwe lè l sèvi avèk mòd jwèt diferan tankou mòd "istwa" ak "Arcade" mòd. Ka tab sa a anviwònman dwe itilize nan magazen mòd aktyèl la. Oswa nenpòt lòt moso nan done ke ou vle rete ki pèsistan menm si itilizatè a kite soti nan jwèt la ak relanse li.

Etap Youn: Inisyalize baz done a ak kreye tab la anviwònman

Premye bagay nou bezwen fè se deklare bibliyotèk la SQLite epi li di app nou yo kote yo jwenn dosye a baz done. Kote ki pi bon yo mete kòd sa a se dwa nan tèt la nan dosye a maina ansanm ak lòt la mande pou deklarasyon. Yo pral kreye dosye a baz done si yo pa jwenn anyen, epi nou pral magazen li nan folder dokiman yo pou nou ka li soti nan li epi ekri li.

mande pou "sqlite3"
lokal data_path = system.pathForFile ("data.db", system.DocumentsDirectory);
db = sqlite3.open (data_path);

Remake ki jan varyab "db" la pa lokalize. Nou te fè sa a asire w ke nou ka jwenn aksè nan baz done a nan tout pwojè nou an. Ou ka kreye tou yon espesifik .lua dosye pou tout fonksyon baz done ak kenbe baz done a lokalize nan dosye sa a.

Next, nou bezwen yo kreye tab la baz done ki pral magazen anviwònman nou an:

lokal SQL = "CREATE TABLE SI pa anviwònman an (non, valè);"
db: ekzekitif (sql);

Deklarasyon sa a kreye tab anviwònman nou yo. Li nan oke kouri li chak fwa charj yo app paske si tab la deja egziste, deklarasyon sa a pa pral fè anyen. Ou ka mete deklarasyon sa a dwa anba kote nou te deklare baz done a oswa nan fonksyon an ki tabli app ou a kouri. Egzijans prensipal la se (1) egzekite deklarasyon sa yo chak fwa app a lanse ak (2) egzekite li anvan nenpòt ki apèl yo chaje oswa sove anviwònman.

Dezyèm etap: Ekonomize anviwònman nan baz done a

fonksyon setSetting (non, valè)
SQL = "DELETE nan anviwònman KI KOTE non = '" .. Non .. "'";
db: ekzekitif (SQL)

SQL = "INSERT nan anviwònman (non, valè) VALÈ ('" ..name .. "'," valè .. ");";
db: ekzekitif (SQL)
fen

fonksyon setSettingString (non, valè)
setSetting (non, "" .. valè .. "'");
fen

Fonksyon setSetting la efase nenpòt anviwònman anvan sove sou tab la ak foure nouvo valè nou an. Li pral travay ak tou de nonm antye ak strings, men ekonomize yon fisèl mande pou sèl quotes otou valè a, Se konsa, nou te itilize fonksyon an setSettingString fè sa siplemantè ti jan nan travay pou nou.

Etap twa: Loading anviwònman nan baz done a

fonksyon getSetting (non)

lokal SQL = "CHWAZI * nan anviwònman KI KOTE non = '" .. Non .. "'";
lokal valè = -1;

pou ranje nan db: nrows (SQL) fè
valè = row.value;
fen

retounen valè;
fen

fonksyon getSettingString (non)
lokal SQL = "CHWAZI * nan anviwònman KI KOTE non = '" .. Non .. "'";
lokal valè = '';

pou ranje nan db: nrows (SQL) fè
valè = row.value;
fen

retounen valè;
fen

Kòm pi wo a, nou te kase fonksyon yo nan de vèsyon: yon sèl pou nonm antye ak yon sèl pou strings. Rezon prensipal ki fè nou te fè sa a se pou nou ka inisyalize yo ak valè espesifik si pa gen anviwònman ki egziste nan baz done a. Fonksyon a getSetting pral retounen yon -1, ki pral fè nou konnen ke anviwònman an pa te sove. GetSettingString a pral retounen yon fisèl vid.

Fonksyon a getSettingString se konplètman si ou vle. Diferans ki genyen ant li ak fonksyon nòmal getSetting la se sa ki retounen si pa gen anyen yo jwenn nan baz done a.

Etap kat: Sèvi ak tab anviwònman nou yo

Koulye a, ke nou gen travay la difisil fè, nou ka fasilman chaje ak sove anviwònman nan yon baz done lokalize. Pou egzanp, nou te kapab bèbè son an ak deklarasyon sa a:

setSetting ('son', fo);

Epi nou te ka itilize anviwònman an nan yon fonksyon mondyal pou jwe son:

fonksyon playSound (soundID)
si (getSetting ('son')) lè sa a
audio.play (soundID)
fen
fen

Pou vire son an tounen sou, nou tou senpleman mete anviwònman an son a vre:

setSetting ('son', vre);

Pati a bèl sou fonksyon sa yo se ou ka sove strings oswa nonm antye nan tab la anviwònman ak rekipere yo fasil. Sa a pèmèt ou fè anyen nan ekonomize non yon jwè a ekonomize nòt segondè yo.

Corona SDK: kouman grafik grafik, deplase grafik ak pote Graphics devan