Sida loo Xareeyo iyo Kaydinta Macluumaadka Ciyaarta ee Corona SDK

Sida loo Isticmaalo SQLite si loogu duubo xogta iyo goobaha lagu ciyaaro

Mid ka mid ah wax kasta oo app iyo ciyaarta oo idil waa mid caadi ah waa baahida loo qabo in la kaydiyo oo la soo qaato xogta. Xitaa ciyaarta ugu fudud waxay isticmaali kartaa SQLite si loo badbaadiyo lambarka nambarka app, kaas oo loo isticmaali karo si loo hubiyo in la isku waafaqsan yahay marka la qabsanayo casriyeynta, ama goobaha fudud sida badalida codka ciyaarta ama dibedda.

Haddii aadan waligaa shaqo badan ku sameynin macluumaadka ama waxaad isticmaashay sifooyinka xogta ee Corona SDK , ha ka welwelin. Xaqiiqdii waa geedi socod sahlan oo toos ah iyada oo ay ugu wacan tahay awoodda LUA iyo mashiinka xogta SQLite ee loo adeegsado Corona SDK. Casharkani wuxuu ku socon doonaa habka loo abuurayo miiska goobaha iyo labadaba kaydinta iyo soo celinta macluumaadka. Sida loo horumariyo barnaamijyada iPad.

Sidoo kale maskaxda ku hay in farsamadani ay dhaafi karto meel ka baxsan goobaha ku salaysan isticmaalaha. Tusaale ahaan, maxaa dhacaya haddii aad leedahay ciyaar lagu ciyaari karo adigoo isticmaalaya habab kala duwan sida "sheekada" iyo "arcade". Miisaaniyadani waxaa loo isticmaali karaa in lagu kaydiyo habka hadda jira. Ama wax kale oo xog ah oo aad rabto inad sii joogto ah xitaa haddii uu isticmaalaha ka baxo ciyaarta oo uu dib u riixo.

Tallaabada Koowaad: Initialising database-ka iyo abuurista miiska goobaha

Waxa ugu horreeya ee aan u baahannahay inaan sameyno waa inaan ku dhawaaqnaa Library Library SQLite waxaanad u sheegtaa appkayaga si aan u helno faylka xogta. Meesha ugu fiican ee lagu dhejin karo koodkan waa midda sare ee faylka main.lua iyo weedhaha kale ee loo baahan yahay. Faylka xogta ayaa la abuuri doonaa haddii aan midna la helin, waxaanu ku kaydin doonaa Dukumiintiyada Dukumiintiga si aan uga akhrisan karno oo u qoro.

u baahan "sqlite3"
xogta maxalliga ah_path = system.pathForFile ("data.db", system.DocumentsDirectory);
db = sqlite3.open (data_path);

Fiiro u yeelo sida "variable" db "aan loo dhigin. Waxaannu tan u qabannay si aan u hubinno inaan ku heli karno xogta macluumaadka mashruuca. Waxa kale oo aad abuuri kartaa faylka gaarka ah ee faylka ah ee dhammaan hawlaha xogta oo kaydiya xogta macluumaadka faylasha.

Next, waxaan u baahan nahay inaan abuurno shaxda xogta oo kaydin doonta goobaheena:

sql local = "TABABAR LAHAYN HADDII AY SI JOOGTO AH (magac, qiime);"
db: exec (sql);

Hadalkani wuxuu abuuraa miiska jadwalkeena. Waa habboon in la mariyo mar kasta oo ay app u qaadato sababtoo ah haddii miiska horey u jirey, bayaankan waxba kama qaban doono. Waxaad ku dhigi kartaa bayaankan saxda ah halka aan ku dhawaaqnay xogta ama hawlaha barnaamijkaaga ku shaqeynaya si ay u ordo. Shuruudaha ugu muhiimsan waa (1) in la fuliyo hadalladaas mar kasta oo la adeegsado app iyo (2) fulin ka hor wicitaan kasta oo lagu qaado ama lagu kaydiyo goobaha.

Tallaabada Labaad: Qalabka kaydinta xogta

galka shaqada (magaca, qiimaha)
sql = "KA HORI KARTAA QORAALKA HALKAN Magaca = '" .. magaca' '";
db: exec (sql)

sql = "goobaha INSERT INTO (magac, qiime)" VALUES "(" "..name" "," .. qiimaha .. ")"; ";
db: exec (sql)
dhammaad

Farsameedka Farsameedka (magaca, qiimaha)
setSetting (magac, "'" .. qiimaha .. "'");
dhammaad

Mashruucu wuxuu ka tirtirayaa goobihii hore ee lagu kaydiyey miiska waxayna ku darayaan qiimaha cusub. Waxay ka shaqeyn doontaa labada xarriijin iyo xarriijin, laakiin badbaadinta xarfaha waxay u baahan tahay kelmado hal qiyaas ah qiimaha, sidaas awgeed waxaan adeegsanay qaabka setSettingString si ay u sameeyaan hawshan dheeraadka ah ee nagu filan.

Tallaabada Saddexaad: Xilliyaadka dejinta xogta

Hawlaha helitaanka (magaca)

sql maxaliga ah "" SEELECT * settings settings FROM WHERE name = '".. magaca' '";
qiimaha deegaanka = -1;

ku dhufo db: jeex (sql)
qiimaha = row.value;
dhammaad

soo celinta qiimaha;
dhammaad

Farsamaynta GetSing (magaca)
sql maxaliga ah "" SEELECT * settings settings FROM WHERE name = '".. magaca' '";
qiimaha deegaanka = '';

ku dhufo db: jeex (sql)
qiimaha = row.value;
dhammaad

soo celinta qiimaha;
dhammaad

Sida kor ku xusan, waxaan u kala jajabnay shaqooyinka laba qaabood: hal mid loogu talagalay dameeraha iyo hal xaraf. Sababta ugu weyn ee aan u sameynay tan waa si aan u bilowno qiimeyno gaar ah haddii aysan jirin goob lagu kaydiyo xogta. Hawlaha soo noqoshada ayaa soo celin doona a -1, kaas oo noo sheegi doona in goobtu aan la keydinin. GetSettingString ayaa soo celin doona xaraf furan.

Farsameynta getSettingString waa mid si buuxda loo dooran karo. Farqiga keliya ee u dhaxeeya isaga iyo hawlaha caadiga ah ee loo yaqaan 'GetSetting' ayaa ah waxa soo noqda haddii aan waxba laga helin macluumaadka keydka.

Talaabada Afaraad: Isticmaal miiska jadwalka

Hadda waxaan qabnaa shaqo adag, waxaan si fudud u dhigi karnaa oo u kaydin karnaa goobo ku yaala xogta deegaanka. Tusaale ahaan, waxaan ku dhawaaqi karnaa dhawaaqa bayaankan soo socda:

setSetting ('sound', false);

Waxaan ka faa'iideysan karnaa dejinta hawsha caalamiga ah ee lagu ciyaaro codadka:

hawsha playSound (soundID)
haddii (getSetting ('sound')) markaas
audio.play (soundID)
dhammaad
dhammaad

Si aad dib ugu noqoto codka, waxaan si fudud u dejineynaa goobaha codka runta:

setSetting ('sound', run);

Qaybta wanaagsan ee ku saabsan shaqooyinkaas waa inaad ku kaydin kartaa xarriijinta ama jaangooyooyinka miiska jadwalka oo si fudud u soo qaad. Tani waxay kuu ogolaaneysaa inaad wax ka qabato badbaadinta magaca ciyaaryahan si ay u badbaadiyaan dhibcahooda sarreeya.

Corona SDK: Sida loo qaabeeyo qaababka gundhigga, Gaarsheega sawirrada iyo keenista Graphics to Front