Unsaon Pag-load ug Pagtipig sa Data sa Game sa Corona SDK

Unsaon Paggamit sa SQLite sa Pagdepos sa Data nga Data ug mga Setting

Usa ka butang nga hapit tanan nga app ug game adunay komon mao ang panginahanglan sa pagtipig ug pagkuha sa datos. Bisan ang labing yano nga dula mahimong mogamit sa SQLite aron sa pagluwas sa numero sa bersyon sa app, nga mahimong gamiton aron maseguro ang pagkasibo sa panahon sa paghimo og mga pag-uswag, o yano nga mga setting sama sa pag-usab sa tingog sa dula o pag-off.

Kon wala ka magtrabaho sa mga database o paggamit sa mga feature sa database sa Corona SDK , ayaw kabalaka. Kini tinuod nga usa ka paagi nga diretso kaayo salamat sa gahum sa LUA ug sa SQLite database engine nga gigamit sa Corona SDK. Kini nga panudlo maglakaw pinaagi sa proseso sa pagmugna og usa ka lamesa sa pag-adjust ug sa pagbutang ug pagkuha sa impormasyon gikan niini. Sa unsa nga paagi sa pagpalambo sa iPad apps.

Hinumdomi usab nga kini nga pamaagi mahimong labaw pa sa pagtipig sa mga setting nga nakabase sa user. Pananglitan, unsa kung duna kay dula nga mahimong dulaon gamit ang lainlaing mga moda sa dula sama sa "istorya" mode ug "arcade" mode. Kini nga lamesa sa pag-adjust mahimong gamiton sa pagtipig sa kasamtangan nga mode. O bisan unsang datus nga datos nga gusto nimo nga magpabilin nga mapadayonon bisan kon ang user mogiya sa dula ug i-relaunch kini.

Lakang Usa: Pagsugod sa database ug paghimo sa lamesa sa setting

Ang unang butang nga kinahanglan natong buhaton mao ang pagdeklarar sa SQLite library ug isulti ang atong app kung asa makit-an ang database file. Ang pinakamaayo nga dapit nga ibutang kini nga kodigo sa tuo sa ibabaw sa file sa main.lua uban sa lain nga nagkinahanglan og mga pahayag. Ang database file magamugna kung walay makaplagan, ug among ibutang kini sa mga folder sa Mga Dokumento aron mabasa namon kini ug isulat kini.

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

Matikdi kon giunsa nga ang lokal nga variable nga "db" dili lokal. Gihimo nato kini aron masiguro nga ma-access nato ang database sa atong proyekto. Makahimo ka usab sa paghimo og usa ka piho nga .lua nga file alang sa tanan nga mga function sa database ug ipabilin ang database nga gibutang sa maong file.

Sunod, kinahanglan naton nga maghimo sang database table nga magatipig sang aton mga kahimtangan:

lokal nga sql = "PAGBUHAT SA TALAAN NGA DILI MAHIMO sa mga kahimtang (ngalan, bili);"
db: exec (sql);

Kini nga pahayag nagmugna sa lamesa sa pag-adjust. Kini okay sa pagdagan sa matag higayon nga ang app magamit tungod kay kung ang lamesa anaa na, kini nga pamahayag dili buhaton. Mahimo nimong ipahayag kini nga pahayag ilalom sa dapit diin kami nagdeklara sa database o sa function nga nag-set up sa imong app sa pagdagan. Ang nag-unang kinahanglanon mao ang (1) aron ipatuman ang mga pahayag sa matag higayon nga gilusad ang app ug (2) ipatuman kini sa dili pa ang bisan unsang mga tawag sa pag-load o pag-save sa mga setting.

Ikaduha nga Lakang: Pag-save sa mga setting sa database

function setSetting (ngalan, bili)
sql = "KALIHOK GIKAN SA MGA PAGPATABO DIIN ngalan = '" .. ngalan .. "'";
db: exec (sql)

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

function setSettingString (ngalan, bili)
setSetting (ngalan, "'" .. value .. "'");
katapusan

Ang setSetting function magwagtang sa bisan unsang nangaging mga setting nga gitipigan sa lamesa ug gisulod ang bag-ong bili. Kini magtrabaho uban ang integers ug strings, apan ang pagtigum sa usa ka hugpong nagkinahanglan ug usa ka kinutlo sa bili, mao nga gigamit nato ang function sa setSettingString aron buhaton ang dugang nga gamay nga trabaho alang kanato.

Ikatulo nga Lakang: Pag-load sa mga setting gikan sa database

function getSetting (ngalan)

lokal nga sql = "PILI * GIKAN SA MGA PAGPATABO DIIN ngalan = '" .. ngalan .. "'";
lokal nga bili = -1;

alang sa laray sa db: nrows (sql) buhaton
bili = row.value;
katapusan

ibalik ang bili;
katapusan

function getSettingString (ngalan)
lokal nga sql = "PILI * GIKAN SA MGA PAGPATABO DIIN ngalan = '" .. ngalan .. "'";
lokal nga bili = '';

alang sa laray sa db: nrows (sql) buhaton
bili = row.value;
katapusan

ibalik ang bili;
katapusan

Ingon sa ibabaw, gilapas nato ang mga gimbuhaton ngadto sa duha ka bersyon: usa alang sa integer ug usa alang sa mga linya. Ang nag-unang rason nga atong nahimo kini mao nga mahimo natong ipasugod kini uban ang piho nga mga bili kon walay setting nga anaa sa database. Ang getSetting function mobalik sa usa ka -1, nga ipahibalo kanato nga ang kahimtang wala maluwas. Ang getSettingString mobalik sa usa ka blangko nga pisi.

Ang gigamit nga getSettingString hingpit nga opsyonal. Ang bugtong kalainan tali sa kini ug ang normal nga pag-usab sa pag-usab mao ang gibalik kon walay makita sa database.

Ika-upat nga Lakang: Gamit ang lamesa sa pag-adjust

Karon nga nahuman na ang paningkamot, dali namong mabutang ug i-save ang mga setting sa lokal nga database. Pananglitan, mahimo natong mapalong ang tingog sa mosunod nga pahayag:

setSetting ('tunog', bakak);

Ug mahimo natong gamiton ang kahimtang sa usa ka pangkalibutanon nga gamit alang sa pagpatugtog og mga tingog:

function playSound (soundID)
kung (getSetting ('tunog')) unya
audio.play (soundID)
katapusan
katapusan

Aron ibalik ang tingog, ibutang lang nato ang kahimtang sa tunog ngadto sa tinuod:

setSetting ('tunog', tinuod);

Ang nindot nga bahin mahitungod niini nga mga gimbuhaton mao ang imong mahimo nga makaluwas sa mga hilo o mga integers ngadto sa lamesa sa pagpahimutang ug dali nga makuha kini. Kini nagtugot kanimo sa pagbuhat sa bisan unsang butang gikan sa pagluwas sa ngalan sa usa ka player sa pagtipig sa ilang taas nga iskor.

Corona SDK: Unsaon Paghimo Graphics, Paglihok Graphics ug Pagdala sa Graphics sa Front