Mar a chuireas tu ri dàta geama ann an corona SDK

Mar a chleachdas tu SQLite airson Stòr dàta agus seataichean cluiche

Is e aon rud cha mhòr a h-uile aplacaid agus geama mar as trice an fheum air dàta a stòradh agus a ghleidheadh. Faodaidh eadhon an geama as sìmplidh cleachdadh SQLite gus àireamh an tionndaidh aplacaidean a shàbhaladh, a dh'fhaodar a chleachdadh gus dèanamh cinnteach gu bheil e co-chòrdail nuair a bhios tu a 'dèanamh àrdachadh no suidheachadh sìmplidh mar a bhith a' tionndadh fuaim a 'gheama air no dheth.

Mura h-eil thu air mòran obair a dhèanamh a-riamh le stòran-dàta no cleachd na feartan stòr-dàta ann an Corona SDK , na gabh dragh. Is e pròiseas a tha gu math sìmplidh a th 'ann an-còmhnaidh, a chionn' s gu bheil cumhachd LUA agus inneal stòr-dàta SQLite air an cleachdadh ann an Corona SDK. Bidh an t-oideachadh seo a 'coiseachd tron ​​phròiseas airson clàr roghainnean a chruthachadh agus an dà chuid a' stòradh agus a 'faighinn fiosrachadh bhuaithe. Mar a leasaicheas tu aplacaidean iPad.

Cuimhnich cuideachd gum faod an dòigh seo a dhol nas fhaide na bhith a 'stòradh shuidheachaidhean stèidhichte air luchd-cleachdaidh. Mar eisimpleir, dè ma tha geama agad a ghabhas a chluich a 'cleachdadh modhan gèam eadar-dhealaichte mar modh "sgeulachd" agus modh "stòir". Faodar an clàr roghainnean seo a chleachdadh gus am modh làithreach a stòradh. No pìos dàta sam bith eile a tha thu airson a bhith a 'dol a dh' aindeoin eadhon ged a bhios an neach-cleachdaidh a 'fàgail a-mach às a' gheama agus ga ath-sgaoileadh.

Ceum a h-Aon: A 'tòiseachadh air an stòr-dàta agus a' cruthachadh clàr nan roghainnean

Is e a 'chiad rud a dh'fheumas sinn a dhèanamh a bhith a' foillseachadh leabharlann SQLite agus innis dhuinn an aplacaid far am faighear am faidhle stòr-dàta. Tha an t-àite as fheàrr airson a 'chòd seo a chur ceart aig mullach an fhaidhle main.lua còmhla ris an fhear eile ag iarraidh aithrisean. Cruthaichidh am faidhle stòr-dàta ma lorgar gin dhiubh, agus stàlaichidh sinn e ann am pasgan nan Sgrìobhainnean gus am faigh sinn leughadh bhuaithe agus sgrìobhaidh sinn thuige.

a dhìth air "sqlite3"
local data_path = system.pathForFile ("data.db", system.DocumentsDirectory);
db = sqlite3.open (data_path);

Thoir an aire ciamar nach eil an caochlaideach "db" air a h-ionadail. Tha sinn air seo a dhèanamh gus dèanamh cinnteach gum faigh sinn cothrom air an stòr-dàta tron ​​phròiseact againn. Faodaidh tu cuideachd faidhle .lua sònraichte a chruthachadh airson gach gnìomh stòr-dàta agus cumaibh an stòr-dàta a tha stèidhichte san fhaidhle sin.

An ath rud, feumaidh sinn clàr an stòr-dàta a chruthachadh a stòras na roghainnean againn:

ionadail sql = "CUIDEACHADH CRUTHAICH MÒ ​​NA SEACHADH LUCHD-OBRACH (ainm, luach);"
db: exec (sql);

Tha an aithris seo a 'cruthachadh ar clàr roghainnean. Tha e ceart gu leòr a ruith gach uair a bhios an aplacaid a 'tarraing oir ma tha an clàr mu thràth, cha dèan an aithris seo rud sam bith. Faodaidh tu an aithris seo a chur ceart far a bheil sinn air an stòr-dàta ainmeachadh no san obair a tha a 'stèidheachadh do aplacaid gus a ruith. Is e am prìomh riatanas (1) na h-aithrisean sin a choileanadh a h-uile turas a thèid an t-aplacaid a chur air bhog agus (2) a chur an gnìomh mus tèid gairmean a shàbhaladh no a shàbhaladh.

Ceum a Dhà: Sàbhaladh roghainnean air an stòr-dàta

Fòram stèidhichte setSetting (ainm, luach)
sql = "DELETE FROM settings WHERE name = '" .. name .. "'";
db: exec (sql)

sql = "A 'dol a-steach gu suidheachadh (ainm, luach) VALUAS ('" ..name .. "'," .. value .. ");";
db: exec (sql)
deireadh

Function setSettingString (ainm, luach)
setSetting (ainm, "" ".. luach .." ");
deireadh

Bidh an suidheachadh setSetting a 'toirt às do shuidheachaidhean sam bith a chaidh a shàbhaladh roimhe chun a' bhùird agus a 'cur a-steach ar luach ùr. Obraichidh e le gach aonad agus strì, ach tha sàbhaladh sreang ag iarraidh tuairmsean singilte mun luach, agus mar sin chleachd sinn an gnìomh setSettingString gus an obair-obrach a bharrachd a dhèanamh dhuinne.

Ceum a Trì: Luachadh roghainnean bhon stòr-dàta

Feallsanachd getSetting (ainm)

local sql = "SELECT * FROM settings WHERE name = '" .. name .. "'";
luach ionadail = -1;

airson sreath ann an db: nrows (sql) a dhèanamh
value = row.value;
deireadh

luach tilleadh;
deireadh

Feasgar fhaighinn getSettingString (ainm)
local sql = "SELECT * FROM settings WHERE name = '" .. name .. "'";
luach ionadail = '';

airson sreath ann an db: nrows (sql) a dhèanamh
value = row.value;
deireadh

luach tilleadh;
deireadh

Mar a tha gu h-àrd, tha sinn air na gnìomhan a bhriseadh gu dà dhreach: aon airson sreathan-fillte agus aon airson sreathan. Is e am prìomh adhbhar a tha sinn air seo a dhèanamh gus an urrainn dhuinn an toirt a-mach le luachan sònraichte mura bheil suidheachadh ann san stòr-dàta. Tillidh an gnìomh getSetting a -1, a leigeas leinn innse nach deach an t-suidheachadh a shàbhaladh. Tillidh an getSettingString sreang bàn.

Tha an gnìomh getSettingString gu tur roghainneil. Is e an aon diofar eadar e agus an obair getSetting àbhaisteach a tha air a thilleadh mura h-eil dad air a lorg san stòr-dàta.

Ceum a ceithir: A 'cleachdadh clàr na roghainnean againn

A-nis gu bheil an obair chruaidh againn, faodaidh sinn suidheachaidhean a luchdadh agus a shàbhaladh gu stòr-dàta ionadail. Mar eisimpleir, b 'urrainn dhuinn fuaim a chall leis an aithris a leanas:

setSetting ('fuaim', meallta);

Agus b 'urrainn dhuinn an suidheachadh a chleachdadh ann an gnìomh cruinneil airson fuaimean a chluich:

Feasgar playSound (soundID)
ma tha (getSetting ('fuaim') an uairsin
audio.play (soundID)
deireadh
deireadh

Gus am fuaim a thionndadh air ais, tha sinn dìreach a 'suidheachadh an fhuaim fuaim gu fìor:

setSetting ('fuaim', fìor);

Is e an roinn mhath mu na gnìomhan seo is urrainn dhut teinntean no sreathan-sàbhaidh a shàbhaladh gu clàr nan roghainnean agus an toirt air ais gu furasta. Leigidh seo dhut rud sam bith a dhèanamh bho bhith a 'sàbhaladh ainm cluicheadair gus an sgòr àrd a shàbhaladh.

Corona SDK: Grafaigean Mar a ghabhas Sreathan, Gluaisigean Gluasad agus A 'toirt Grafaigeachd gu Beulaibh