Cara Instal lan Simpen Data Game ing SDK Corona

Cara Nggunakake SQLite kanggo Nyimpen Data Game lan Setelan

Siji bab meh kabeh app lan game sing umum yaiku kudu nyimpen lan nompo data. Malah game sing paling prasaja bisa nggunakke SQLite kanggo nyimpen nomer versi app, sing bisa digunakake kanggo njamin kompatibilitas nalika nampilake nganyarke, utawa setelan prasaja kaya nguripake utawa mateni swara game.

Yen sampeyan wis tau gawe akeh database utawa nggunakake fitur basis data ing Corona SDK , aja kuwatir. Iku bener proses sing relatif lugas thanks kanggo daya LUA lan engine database SQLite digunakake ing Corona SDK. Tutorial iki bakal mlaku liwat proses nggawe tabel pengaturan lan nyimpen lan nguripake informasi kasebut. Carane berkembang aplikasi iPad.

Uga manawa teknik iki bisa ngluwihi nyimpen setelan basis pengguna. Contone, yen sampeyan duwe game sing bisa dimainake nggunakake mode game sing beda kayata mode "crita" lan "arcade". Tabel setelan iki bisa digunakake kanggo nyimpen mode sing saiki. Utawa data liyane sing pengin tetep terus-terusan sanajan pangguna mandheg metu saka game lan mulangke maneh.

Langkah siji: Ngganti basis data lan nggawe tabel setelan

Ing bab pisanan kita kudu ngumumake pustaka SQLite lan marang app kita ing ngendi nemokake file database. Panggonan paling apik kanggo nyelehake kode iki yaiku ing sisih ndhuwur file utama.lua bebarengan karo sing liyane. File basis data bakal digawe yen ora ditemokake, lan kita bakal nyimpen ing folder Documents supaya kita bisa maca lan nulis.

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

Wara-wara ngenani variabel db ora ana. Kita wis rampung iki kanggo nggawe manawa kita bisa ngakses database saindhenging proyek kita. Sampeyan uga bisa nggawe file .lua tartamtu kanggo kabeh fungsi basis data lan njaga basis data sing ana ing file kasebut.

Sabanjure, kita kudu nggawe tabel database sing bakal nyimpen setelan kita:

lokal sql = "CREATE TABLE yen ora ana setelan (jeneng, nilai);"
db: exec (sql);

Iki statement nggawe meja setelan kita. Ora apa-apa kanggo mbukak saben aplikasi entek amarga yen tabel wis ana, pernyataan iki ora bakal rampung. Sampeyan bisa nglebokake pernyataan kasebut ing ngendi kita nyatakake databes utawa ing fungsi sing nggawe app sampeyan mbukak. Keperluan utama yaiku (1) nglakokne pernyataan kasebut saben wektu aplikasi kasebut diluncurake lan (2) nglakokne sadurunge ana panggilan kanggo mbukak utawa nyimpen setelan.

Langkah loro: Nyimpen setelan menyang basis data

fungsi setSetting (jeneng, nilai)
sql = "MENGHINDUH DITEMUKAN setelan WHERE name = '" .. name .. "'";
db: exec (sql)

sql = "INSERT INTO settings (name, value) VALUES ('" ..name .. "'," .. value .. ");";
db: exec (sql)
pungkasan

fungsi setSettingString (jeneng, angka)
setSetting (jeneng, "'" .. value .. "'");
pungkasan

Fungsi settingSetting bakal mbusak kabeh setelan sadurunge disimpen ing tabel lan nglebokake nilai anyar kita. Bakal bisa digunakake karo integers lan strings, nanging nyimpen senar mbutuhake kuotasi tunggal sakliyane nilai, supaya kita wis nggunakake fungsi setSettingString kanggo nglakoni tugas sing luwih cepet kanggo kita.

Langkah Tiga: Ngunggah setelan saka basis data

fungsi getSetting (jeneng)

local sql = "PILIH * FROM settings WHERE name = '" .. name .. "'";
Nilai lokal = -1;

kanggo baris ing db: nrows (sql) aja
nilai = row.value;
pungkasan

bali nilai;
pungkasan

fungsi getSettingString (jeneng)
local sql = "PILIH * FROM settings WHERE name = '" .. name .. "'";
Nilai lokal = '';

kanggo baris ing db: nrows (sql) aja
nilai = row.value;
pungkasan

bali nilai;
pungkasan

Kaya ing ndhuwur, kita wis ngilangi fungsi dadi rong versi: siji kanggo integer lan siji kanggo strings. Alesan utama sing wis kita tindakake iki yaiku supaya kita bisa nginisialisasi karo nilai-nilai sing spesifik yen ora ana setting ing database. Fungsi getSetting bakal ngasilake -1, sing bakal ngandhani yen setelan kasebut durung disimpen. GetSettingString bakal ngasilake senar kosong.

Fungsi getSettingString rampung opsional. Bentenipun mung karo fungsi getSetting normal apa sing bakal dibalekake manawa ora ditemokake ing database.

Langkah 4: Nggunakake tabel setelan kita

Saiki yen kita wis kerja keras, kita bisa gampang mbukak lan nyimpen setelan menyang database lokal. Contone, kita bisa mbethik swara kanthi pernyataan ing ngisor iki:

setSetting ('swara', palsu);

Lan kita bisa nggunakke setelan ing fungsi global kanggo muter swara:

fungsi playSound (soundID)
yen (getSetting ('swara')) banjur
audio.play (soundID)
pungkasan
pungkasan

Kanggo nguripake swara, kita mung nyetel swara kanthi bener:

setSetting ('swara', bener);

Bagian becik babagan fungsi kasebut yaiku sampeyan bisa nyimpen strings utawa integers menyang meja setelan lan nompo kanthi gampang. Iki ngidini sampeyan nindakake apa-apa saka nyimpen jeneng pemain kanggo nyimpen skor dhuwur.

Corona SDK: Cara Layer Graphics, Move Graphics lan Nggawa Graphics menyang ngarep