Bi o ṣe le Gba agbara ati Gbigba Alaye Ere ni Corona SDK

Bi o ṣe le lo SQLite lati tọju Awọn Akọṣere Ere ati Awọn Eto

Ohun kan fere fere gbogbo ohun elo ati ere ni o wọpọ ni nilo lati tọju ati gba data. Paapa awọn ere ti o rọrun julọ le lo SQLite lati fipamọ nọmba ikede ti o wa, eyi ti a le lo lati rii daju pe ibamu nigbati awọn igbesẹ ti n ṣe, tabi awọn eto ti o rọrun bi titan ohun orin naa si tan tabi pa.

Ti o ko ba ti ṣe ọpọlọpọ iṣẹ pẹlu awọn apoti isura infomesonu tabi lo awọn ẹya ipilẹ data inu Corona SDK , maṣe yọ ara rẹ lẹnu. O jẹ kosi kan jo ọna itọsọna ọpẹ si agbara ti LUA ati awọn SQLite database engine nlo ni Corona SDK. Ilana yii yoo rin nipasẹ ọna ṣiṣe ti ipilẹ tabili kan ati awọn titoju mejeeji ati gbigba alaye lati ọdọ rẹ. Bawo ni lati ṣe agbekalẹ awọn ohun elo iPad.

Tun fiyesi pe ilana yii le lọ ju titoju awọn eto orisun-olumulo. Fun apẹẹrẹ, ohun ti o ba ni ere ti o le dun pẹlu lilo awọn ọna ere ọtọọtọ bi "itan" ati ipo "adagun". Yi tabili tabili le ṣee lo lati tọju ipo ti isiyi. Tabi eyikeyi nkan miiran ti data ti o fẹ lati duro jigijigi paapaa ti olumulo ba njade kuro ninu ere naa ti o si tun ṣe atunṣe rẹ.

Igbese Ọkan: Ni ibẹrẹ database ati ṣiṣẹda tabili tabili

Ohun akọkọ ti a nilo lati ṣe ni pe ki o sọ iwe-ọrọ SQLite ati ki o sọ apamọ wa nibi ti a ti wa faili faili. Ibi ti o dara julọ lati fi koodu yi si ọtun ni oke faili faili akọkọ pẹlu awọn miiran nilo awọn alaye. Faili faili database ni yoo ṣẹda ti ko ba si ẹniti o ri, ati pe a ma tọju rẹ ni folda Akọsilẹ ki a le ka lati ọdọ rẹ ki o kọ si i.

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

Ṣe akiyesi bi o ṣe jẹ pe iyatọ "db" ko wa ni agbegbe. A ti ṣe eyi lati rii daju pe a le wọle si database ni gbogbo agbese wa. O tun le ṣẹda faili kan pato fun gbogbo awọn iṣẹ ipamọ data ati ki o pa ibi-iranti ti o wa ni agbegbe si faili naa.

Nigbamii ti, a nilo lati ṣẹda tabili tabili ti yoo tọju awọn eto wa:

agbegbe sql = "Ṣẹda tabili Ti ko ba ṣeto awọn eto (orukọ, iye);"
db: exec (sql);

Ọrọ yii ṣẹda tabili tabili wa. O dara lati ṣiṣe o ni gbogbo igba ti awọn ẹrọ imudani nitoripe ti tabili ba wa, ọrọ yii ko ni ṣe ohunkohun. O le fi gbolohun yii sọtun labẹ ibi ti a ti sọ ipamọ data tabi ni iṣẹ ti o ṣe agbekalẹ app rẹ lati ṣiṣe. Ibeere pataki ni (1) lati ṣe awọn gbólóhùn naa ni gbogbo igba ti a ba ti ṣafihan ìṣàfilọlẹ ati (2) paṣẹ rẹ ṣaaju ki eyikeyi awọn ipe lati fifuye tabi fipamọ awọn eto.

Igbese Meji: Nfi awọn eto si ipamọ data

iṣẹ setSetting (orukọ, iye)
sql = "PATI LATI awọn eto IDI orukọ = '" .. orukọ .. "'";
db: exec (sql)

sql = "Fi sii sinu eto (orukọ, iye) VALUES ('" ..name .. "'," .. value .. ");";
db: exec (sql)
opin

iṣẹ setSettingString (orukọ, iye)
setSetting (orukọ, "'" .. value .. "'");
opin

Iṣẹ iṣẹ setSetting npa gbogbo awọn eto ti tẹlẹ ti o fipamọ si tabili ki o fi sii iye tuntun wa. Yoo ṣiṣẹ pẹlu awọn nọmba okiki ati awọn gbolohun mejeeji, ṣugbọn fifipamọ okun kan nilo awọn fifawo ọkan ni ayika iye, nitorina a ti lo iṣẹ setSettingString lati ṣe išẹ diẹ diẹ fun wa.

Igbesẹ mẹta: Eto imujọpọ lati ibi ipamọ

iṣẹ getSetting (orukọ)

sql agbegbe = "SELE * LATI awọn eto NI orukọ = '" .. orukọ .. "'";
iye agbegbe = -1;

fun ila ni db: nrows (sql) ṣe
iye = row.value;
opin

iye iyipada;
opin

iṣẹ getSettingString (orukọ)
sql agbegbe = "SELE * LATI awọn eto NI orukọ = '" .. orukọ .. "'";
agbegbe agbegbe = '';

fun ila ni db: nrows (sql) ṣe
iye = row.value;
opin

iye iyipada;
opin

Gẹgẹbi loke, a ti sọ awọn iṣẹ naa si awọn ẹya meji: ọkan fun awọn nọmba odidi ati ọkan fun awọn gbolohun. Akọkọ idi ti a ti ṣe eyi ni ki a le ṣe atẹgun wọn pẹlu awọn nọmba pataki bi ko ba si eto wa ninu aaye data. Iṣẹ-ṣiṣe getSetting yoo pada si -1, eyi ti yoo jẹ ki a mọ pe eto ko ti fipamọ. Awọn getSettingString yoo pada okun kan ti òfo.

Awọn iṣẹ getSettingString jẹ aṣayan patapata. Iyatọ ti o wa laarin rẹ ati iṣẹ ti o gba deedeSitting jẹ ohun ti a ti pada ti ko ba si nkan ti o wa ninu database.

Igbese Meji: Lilo tabili tabili wa

Nisisiyi pe a ni iṣiṣẹ lile, a le ṣaja ati fifipamọ awọn eto si aaye data ti a wa ni agbegbe. Fun apere, a le gbọ ohùn naa pẹlu gbolohun wọnyi:

setSetting ('ohun', eke);

Ati pe a le lo eto naa ni iṣẹ agbaye fun awọn ohun idaraya:

iṣẹ playSound (soundID)
ti o ba ti (getSetting ('ohun')) lẹhinna
audio.play (soundID)
opin
opin

Lati tan ohun naa pada, a tun ṣeto eto ohun to otitọ:

setSetting ('ohun', otitọ);

Aaye ti o dara nipa awọn iṣẹ wọnyi ni o le fi awọn gbolohun tabi awọn nomba odidi pamọ si tabili tabili ki o gba wọn ni rọọrun. Eyi n gba ọ laaye lati ṣe ohunkohun lati fifipamọ orukọ olorin kan lati fipamọ igbasilẹ giga wọn.

Corona SDK: Bi o ṣe le ṣe awọn aworan ti o jẹ Layer, gbe awọn aworan ati mu Awọn Ẹya si Iwaju