Kumaha Muat na Simpen Data Game dina Corona SDK

Kumaha Paké SQLite pikeun nyimpen data Game na Setélan

Hiji hal ampir unggal aplikasi tur kaulinan boga di umum nyaeta kudu nyimpen jeung meunangkeun data. Malah kaulinan paling basajan bisa ngagunakeun SQLite jeung simpen jumlah Vérsi aplikasi nu bisa dipaké pikeun mastikeun kasaluyuan nalika ngajalankeun upgrades, atawa setélan basajan sapertos ngarobah sora kaulinan sacara on atawa off.

Lamun geus pernah dilakukeun teuing gawé kalawan basis data atawa dipaké fitur database di Corona SDK , ulah salempang. Ieu sabenerna hiji prosés rélatif lugas berkat kakawasaan Karangan tur mesin database SQLite garapan dina Corona SDK. tutorial ieu bakal leumpang ngaliwatan prosés nyieun hiji méja setelan sareng duanana nyimpen sarta retrieving informasi ti eta. Kumaha carana ngamekarkeun aktip iPad.

Ogé tetep dina pikiran nu téhnik ieu bisa balik saluareun nyimpen pangaturan basis pamaké. Contona, kumaha lamun boga kaulinan anu bisa dicoo maké modus game béda kayaning mode "carita" na mode "arcade". méja setélan Ieu bisa dipaké pikeun nyimpen mode ayeuna. Atawa sapotong séjén data nu rék tetep pengkuh malah lamun pamaké quits kaluar tina kaulinan jeung relaunches eta.

Hambalan Hiji: Initializing database jeung nyieun tabel setélan

Hal kahiji kudu urang pigawé nyaéta dibewarakeun perpustakaan SQLite jeung ngabejaan aplikasi kami dimana manggihan file database. Tempat pangalusna pikeun nyimpen kode ieu katuhu dina luhureun éta file main.lua sapanjang jeung lianna merlukeun pernyataan. The file database bakal dijieun lamun euweuh anu kapanggih, sarta kami bakal neundeun deui dina folder Dokumén ku kituna urang bisa maca tina eta jeung nulis ka eta.

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

Perhatikeun kumaha "db" variable teu localized. Simkuring geus rengse ieu pastikeun bisa ngakses databés sakuliah proyék urang. Anjeun oge bisa nyieun file .lua husus pikeun sakabéh fungsi database na tetep databés localized mun file éta.

Salajengna, urang kedah nyieun tabel databés anu bakal nyimpen pangaturan kami:

SQL lokal = "Nyieun tabél IF teu nyampak setélan (ngaran, nilai);"
db: exec (SQL);

pernyataan ieu nyiptakeun tabél setélan urang. Ieu oke kana ngajalankeun eta unggal waktu beban aplikasi sabab lamun méja geus nyampak, pernyataan ieu bakal teu ngalakukeun nanaon. Anjeun tiasa nyimpen pernyataan ieu katuhu handapeun tempat urang geus nyatakeun database atawa dina fungsi nu susunan up aplikasi Anjeun pikeun ngajalankeun. Sarat utama (1) sangkan ngaéksekusi pamadegan pernyataan unggal waktu aplikasi nu keur dibuka sarta (2) ngaéksekusi dinya méméh nelepon sagala pikeun muka atanapi simpen setélan.

Hambalan Dua: Nyimpen setélan kana databés

fungsi setSetting (ngaran, nilai)
SQL = "Pupus ti Setelan WHERE ngaran = '" .. ngaran .. "'";
db: exec (SQL)

SQL = "ngalebetkeun kana setélan (ngaran, nilai) nilai ( '" ..name .. "'," .. nilai .. ");";
db: exec (SQL)
tungtung

fungsi setSettingString (ngaran, nilai)
setSetting (ngaran, " '" .. nilai .. "'");
tungtung

Fungsi setSetting hapusan sagala setélan saméméhna disimpen kana méja jeung inserts nilai anyar urang. Eta bakal bisa dipaké jeung duanana wilangan buleud sarta string atawa, tapi nyimpen string anu merlukeun tanda petik tunggal sabudeureun nilai, ku kituna kami geus dipaké dina fungsi setSettingString mun ngalakukeun nu bit tambahan gawé pikeun urang.

Hambalan Tilu: Loading setélan tina pangkalan data

fungsi getSetting (ngaran)

SQL lokal = "Pilih * ti Setelan WHERE ngaran = '" .. ngaran .. "'";
nilai lokal = -1;

pikeun baris di db: nrows (SQL) ngalakukeun
nilai = row.value;
tungtung

nilai balik;
tungtung

fungsi getSettingString (ngaran)
SQL lokal = "Pilih * ti Setelan WHERE ngaran = '" .. ngaran .. "'";
nilai lokal = '';

pikeun baris di db: nrows (SQL) ngalakukeun
nilai = row.value;
tungtung

nilai balik;
tungtung

Salaku luhur, urang geus pegat fungsi kana dua versi: hiji pikeun wilangan buleud sarta hiji keur senar. Alesan utama urang geus rengse ieu supaya urang bisa initialize aranjeunna kalayan nilai husus lamun euweuh setting aya dina database. Fungsi getSetting bakal balik a -1, anu bakal ngantep urang terang yen setting geus teu acan disimpen. The getSettingString bakal balik a string kosong.

Fungsi getSettingString sagemblengna pilihan. Hijina bédana antara eta jeung fungsi getSetting normal nyaeta naon anu balik lamun euweuh anu kapanggih dina pangkalan data.

Hambalan Opat: Ngagunakeun tabel setélan kami

Ayeuna mun urang boga gawé teuas rengse, kami bisa kalayan gampang muka sarta simpen setélan ka database localized. Contona, urang bisa Ngajempékeun sora jeung pernyataan di handap:

setSetting ( 'sora', palsu);

Sarta kami bisa ngagunakeun setelan dina fungsi global pikeun maén sora:

fungsi playSound (soundID)
lamun (getSetting ( 'sora')) lajeng
audio.play (soundID)
tungtung
tungtung

Ngahurungkeun sora deui, urang ngan saukur ngatur netepkeun kana leres sora:

setSetting ( 'sora', leres);

Bagian nice ngeunaan fungsi ieu mangrupa Anjeun tiasa nyimpen string atawa wilangan buleud kana méja setelan sareng meunangkeun éta gampang. Ieu ngidinan Anjeun pikeun ngalakukeun nanaon ti nyimpen ngaran pamuter pikeun nyimpen skor luhur maranéhanana.

Corona SDK: Kumaha mun lapisan grafik, Pindahkeun grafik na Bawa grafik pikeun Front