Corona SDK හි ඇති ක්රීඩා දත්ත පූරණය කර සුරකින්න

Game Data සහ සැකසුම් ගබඩා කිරීම සඳහා SQLite භාවිතා කරන්නේ කෙසේද

සෑම යෙදුමකටම හා ක්රීඩාවට පාහේ එක් දෙයක් නම් එක් එක් දත්ත ගබඩා කිරීම හා නැවත ලබාගැනීමේ අවශ්යතාවයි. වඩාත් සරල ක්රීඩාව පවා වැඩිදියුණු කිරීම් සිදු කිරීමේදී අනුකූලතාව සහතික කිරීමට භාවිතා කළ හැකි යෙදුම් අනුවාද අංකය සුරැකීමට SQLite භාවිතා කළ හැකිය, හෝ ක්රීඩාවේ ශබ්දය අක්රිය කිරීම හෝ අක්රිය කිරීම වැනි සරල සැකසුම්.

ඔබ කිසි විටෙකත් දත්ත සමුදායන් සමඟ වැඩ නොකළේ නම් හෝ කොරෝනා SDK හි දත්ත සමුදා විශේෂාංග භාවිතා කර ඇත්නම්, කරදර නොවන්න. කොරියානු SDK හි භාවිතා වන LUA සහ SQLite දත්ත ගබඩාවේ එන්ජිමට සාපේක්ෂව සරල ක්රියාවලියකි. මෙම නිබන්ධනය සැකසීමේ වගුව නිර්මාණය කිරීම සහ එහි තොරතුරු ගබඩා කිරීම සහ නැවත ලබාගැනීම යන ක්රියාවලිය හරහා ගමන් කරයි. IPad යෙදුම් සංවර්ධනය කරන්නේ කෙසේද?

මෙම තාක්ෂණය භාවිතා කරන්නන්ගේ පාදක සැකසුම් ගබඩා වීමෙන් ඔබ්බට යන්න පුළුවන්. උදාහරණයක් ලෙස, "කතන්දර" මාදිලිය සහ "ආර්කේඩ්" මාදිලිය වැනි විවිධ ආකාර ක්රීඩා භාවිතා කළ හැකි ක්රීඩාවක් තිබේ නම් කුමක් නම්. මෙම සැකසුම් වගුව වර්තමාන ප්රකාරය ගබඩා කිරීම සඳහා භාවිතා කල හැක. නැතහොත් පරිශීලකයා ක්රීඩාවෙන් පිටතට යන්නේ නම් එය යළි ආරම්භ කිරීම සඳහා වුවද ඔබ නොකඩවා පවත්වා ගැනීමට අවශ්ය වෙනත් දත්ත කට්ටලයක්.

එක් පියවර: දත්ත සමුදාය ආරම්භ කිරීම හා සැකසුම් වගුව නිර්මාණය කිරීම

අප විසින් කළ යුතු පළමු කරුණ වන්නේ SQLite පුස්තකාලය ප්රකාශයට පත් කිරීම සහ දත්ත සමුදාය ගොනුව සොයාගත හැක්කේ කොතැනින් දැයි අපගේ ඇප් එක අපට කියන්න. මෙම කේතය දැමීම සඳහා හොඳම ස්ථානය ප්රධාන ගොනුවේ ඉහලින් ඇති අතර අනෙක අනෙක් ප්රකාශ සමඟ අවශ්ය වේ. කිසිවක් සොයාගත නොහැකි නම් දත්ත සමුදා ගොනුව නිර්මානය කෙරෙනු ඇත, අප එය කියවිය හැකි අතර එය ලියන්න.

"sqlite3" අවශ්ය
local data_path = system.pathForFile ("data.db", system.DocumentsDirectory);
db = sqlite3.open (data_path);

"Db" විචල්යය ප්රාදේශීයකරණය නොවූ ආකාරය සැලකිල්ලට ගන්න. අපගේ ව්යාපෘතිය හරහා අපගේ දත්ත ගබඩාවට පිවිසිය හැකි බවට වගබලා ගැනීම සඳහා අපි මෙය සිදු කර ඇත්තෙමු. ඔබට සියලු දත්ත සමුදායන් සඳහා නිශ්චිත .lua ගොනුවක් ද එම ගොනුවට දේශීයකරණය කළ හැක.

මීලඟට, අපගේ සැකසීම් ගබඩා කරන දත්ත ගබඩා වගුව නිර්මාණය කිරීම අවශ්යය:

local sql = "සැකසීම් (නම, අගය) නොලැබේ නම්, TABLE TABLE;"
db: exec (sql);

මෙම ප්රකාශය අපගේ සැකසුම් වගුව නිර්මාණය කරයි. මේසය දැනටමත් පවතී නම්, ඇප් එක පැටවීමට සෑම විටම එය ධාවනය කිරීම සුදුසුය, මෙම ප්රකාශය කිසිවක් නොකෙරේ. ඔබ විසින් දත්ත ගබඩාව හෝ ඔබගේ ධාවකය ක්රියාත්මක කිරීමට යෙදුම සකසා ඇති ස්ථානයේ ඔබ මෙම ප්රකාශය නිවැරදිව තැබිය හැකිය. ප්රධාන අවශ්යතාව වන්නේ (1) යෙදුම ආරම්භ කරන සෑම අවස්ථාවකදීම එම ප්රකාශ ක්රියාත්මක කිරීමට සහ (2) සැකසුම් පැටවීම හෝ සුරැකීමට ඕනෑම ඇමතුම් පෙර සිදු කරන්න.

දෙවන පියවර: දත්ත සමුදාය වෙත සැකසීම් සුරැකීම

ක්රියාත්මක කිරීම (නම, අගය)
sql = "සැකසුම් මකා දමන්න" "WHERE name = '" .. .. name .. "'";
db: exec (sql)

sql = "සැකසීම් (නම, අගය) INSERT VALUES ('" ..name .. "'," .. value .. ");";
db: exec (sql)
අවසානය

ශ්රිතය SetSettingString (නම, අගය)
Setting (name, "'" .. value .. "'");
අවසානය

SetSetting ශ්රිතය වගුව සුරැකූ පෙර සැකසුම් මකා දමමින් අපගේ නව අගය ඇතුල් කරයි. එය නිඛිල හා නල දෙපාරක් සමඟ කටයුතු කරනු ඇත, නමුත් ශ්රේණියක් සුරැකීම අගය වටා තනි අගයන් අවශ්ය වේ, එබැවින් අපි සඳහා එම අතිරේක කාර්යය සඳහා setSettingString ශ්රිතය භාවිතා කර ඇත.

පියවර තුන: දත්ත සමුදායෙන් සිටුවම් ඇමිණීම

ශ්රිතය (නම)

local sql = "සකසන්න සිටුවම් සිටුවම් WHERE name = '" .. name .. "'";
දේශීය අගය = -1;

පේලිය සඳහා db: nrows (sql) කරන්න
value = row.value;
අවසානය

ප්රතිලාභ වටිනාකම
අවසානය

ශ්රිතයක් ලැබෙනු ඇත (name)
local sql = "සකසන්න සිටුවම් සිටුවම් WHERE name = '" .. name .. "'";
local value = '';

පේලිය සඳහා db: nrows (sql) කරන්න
value = row.value;
අවසානය

ප්රතිලාභ වටිනාකම
අවසානය

ඉහත පරිදි, අපි එක් සංස්කරණ දෙකක් ලෙස බිඳ දැමුවා. අප විසින් සිදු කර ඇති ප්රධානතම හේතුව වන්නේ දත්ත සමුදාය තුළ කිසිදු සැකසුමක් නොමැති නම් ඒවා නිශ්චිත අගයන් සමඟ ඒවා ආරම්භ කරගත හැකි වීමයි. GetSetting ශ්රිතයක් -1 නැවත ලබා දෙනු ඇත, සැකසුම සුරක්ෂිත නොවූ බව අපට දන්වනු ඇත. GetSettingString හිස් තැනක් ලබා දෙනු ඇත.

GetSettingString ශ්රිතය සම්පූර්ණයෙන්ම විකල්පයකි. එය අතර ඇති එකම වෙනස සහ සාමාන්ය GetSetting ශ්රිතය දත්ත ගබඩාවේ කිසිවක් සොයාගත නොහැකි නම් ආපසු ලබා දෙනු ලැබේ.

පියවර හතර: අපේ සැකසුම් වගුව භාවිතා කිරීම

දැන් අපි වෙහෙස මහන්සි වී වැඩ කර ඇති අතර, අපට පහසුවෙන් දේශීයව දත්ත ගබඩාව සැකසීමට සහ සුරැකීමට හැක. නිදසුනක් වශයෙන්, පහත දැක්වෙන ප්රකාශයෙන් ශබ්දය ශබ්ද නොකරමු:

Setting ('ශබ්ද', අසත්ය);

තවද, ශබ්ද විකාශනය සඳහා ගෝලීය ශ්රිතයක් තුළ සැකසුම අපට භාවිතා කළ හැකිය:

ශ්රිත සෙවීම (soundID)
එසේ නම් (getSetting ('ශබ්ද') නම්)
audio.play (soundID)
අවසානය
අවසානය

ශබ්දය ආපසු හැරවීම සඳහා, අපි සරලවම සත්යාපනය නියම කරන ලදි:

setSetting ('ශබ්ද', සත්ය);

මෙම කාර්යයන් පිළිබඳ ලස්සන කොටස වන්නේ ඔබට සැකසීම් වගුව වෙත කෙඳි හෝ පූර්ණ සංඛ්යා බේරා ගත හැකි අතර ඒවා පහසුවෙන් සොයා ගත හැක. මෙය ඔබගේ ක්රීඩකයාගේ නම සුරක්ෂිත කර ගැනීමෙන් ඕනෑම දෙයක් කිරීමට ඔබට ඉඩ සලසයි.

කොරෝනා SDK: ලේයර් ග්රැෆික්ස්, ගුප්ත චලනය සහ ඉදිරිපසට චිත්ර ශිල්පය ගෙන ඒම