ڪئين ڊيٽا ڊيٽا کي لوڊ ڪرڻ ۽ محفوظ ڪريو ڪورونا SDK ۾

گیم ڊيٽا ۽ سيٽنگز کي اسٽور ڪرڻ لاء SQLite ڪئين استعمال ڪجي

هڪ شيء هر تقريبا هر ايپ ۽ شڪار ۾ آهي عام طور تي ڊيٽا کي ذخيرو ۽ ٻيهر حاصل ڪرڻ جي ضرورت آهي. جيتوڻيڪ سڀ کان وڌيڪ سادي راند ايپليٽ نمبر نمبر محفوظ ڪرڻ لاء SQLite استعمال ڪري سگھن ٿا، جيڪي اپ گریڈ، يا سادي سيٽنگون کي هلائڻ دوران، مطابقت کي يقيني بڻائڻ لاء استعمال ڪري سگهجن ٿيون جهڙوڪ راند جي آواز کي ڦيرايو يا بند ڪري.

جيڪڏهن توهان ڊيٽابيس سان گهڻو ڪم نه ڪيو آهي يا ڪورونا SDK ۾ ڊيٽابيس جي خاصيتن کي استعمال ڪيو، پريشان نه ڪريو. اصل ۾ اهو هڪ نسبتا سڌريل عمل آهي LUA جي طاقت ۽ ڪورونا SDK ۾ استعمال ٿيل SQLite ڊيٽابيس انجڻ جي مهرباني. هي سبق هڪ سيٽنگون ٽيبل ٺاهڻ جي عمل جي ذريعي هلڻ ۽ انهن کي اسٽوريج ۽ ڄاڻ حاصل ڪرڻ جي ٻنهي طريقي سان هلندو. ايپليڪيشن ائپس کي ڪيئن ٺاهيو.

اهو ذهن ۾ رکندو ته اهو ٽيڪنڪ صارف جي بنيادن جي سيٽنگن کي محفوظ ڪرڻ کان ٻاهر ٿي سگھي ٿو. مثال طور، جيڪڏهن توهان وٽ هڪ راند آهي ته مختلف راندين طريقن جهڙوڪ "ڪهاڻي" موڊ ۽ "آرڪڊ" موڊ استعمال ڪندي ادا ڪري سگھجي ٿو. هي سيٽنگون ٽيبل کي موجوده موڊ کي ذخيرو ڪرڻ لاء استعمال ڪري سگھجي ٿو. يا انهي ڊيٽا جي ڪنهن ٻئي پيٽ جنهن کي توهان چاهيندا رهڻ چاهيندو آهي جيتوڻيڪ صارف کي راند کان ٻاهر نڪري ويندو آهي ۽ ان کي رونما ڪرڻ گهرجي.

مرحلا هڪ: ڊيٽابيس شروع ڪري ۽ سيٽنگون ميز ٺاهڻ

اسان کي ڪرڻ جي پهرين شيء اها آهي ته SQLite لائبريري جو اعلان ڪري ۽ اسان جي ايپ کي ڊيٽابيس فائل کي ڳولڻ لاء ٻڌايو. هن ڪوڊ کي رکڻ لاء بهترين جڳهه main.lua فائل جي چوٽي تي صحيح آهي ٻين شرطن جي بيانن سان گڏ. جيڪڏهن ڊيٽابيس فائل پيدا ٿي ويندي ته ڪو ٻيو مليو، ۽ اسان اهو ان کي دستاويز فولڊر ۾ ذخيرو ڪنديون ته جيئن اسان ان کان پڙهي ۽ ان کي لکي سگهو ٿا.

ضرورت "اسڪوائر 3"
مقامي ڊيٽا_path = system.pathForFile ("data.db"، system.DocumentsDirectory)؛
db = sqlite3.open (data_path)؛

نوٽ ڪريو ته ڪيئن "ڊيب" متغير کي مقامي نه آهي. اسان اهو ڪرڻ لاء پڪ ڪيو آهي ته اسان پنهنجي پروجيڪٽ ۾ ڊيٽابيس تائين رسائي ڪري سگهون ٿا. توهان تمام ڊيٽابيس جي ڪارڪردگي لاء هڪ مخصوص .lua فائل ٺاهي سگهو ٿا ۽ ڊيٽابيس کي انهي فائل ڏانهن مقامي رکي سگهو ٿا.

اڳيون، اسان کي ڊيٽابيس جي ٽيبل ٺاهڻ جي ضرورت آهي جيڪا اسان جي سيٽنگن کي ذخيرو ڪندو.

مقامي اسڪوچ = "ٺاهي ٽيبل جي آء سيٽنگن جي جوڙجڪ (نالو، قدر)؛"
db: عمل (اسڪوائر)؛

اهو بيان اسان جي سيٽنگون ٽيبل ٺاهي ٿو. اهو هر وقت ايپ لوڊ کي هلائڻ لاء صحيح آهي ڇو ته جيڪڏهن ٽيبل اڳ ۾ موجود آهي، اهو بيان ڪجھ به نه ڪندو. توهان هن بيان کي درست ڪري سگهو ٿا جتي اسان ڊيٽابيس يا فنڪشن کي اعلان ڪيو آهي جيڪو توهان جي هلائيندڙ کي هلائڻ لاء اپليڪيشن قائم ڪري ٿو. بنيادي گهربل ضروري آهي (1) ايپ کي هر وقت شروع ٿيل بيانن کي عمل ڪرڻ لاء. (2) سيٽنگون کي لوڊ ڪرڻ يا بچائڻ جي ڪنهن به ڪال جي اڳيان ان تي عمل ڪرڻ.

قدم ٻن: ڊيٽابيس ۾ سيٽنگون سيٽنگون

فنڪشن سيٽنگ سيٽنگ (نالو، قدر)
اسڪوچ = "DELETE FROM سيٽنگون WHERE name = '" .. نالو .. "'"؛
db: عمل (اسڪوائر)

اسڪوچ = "INSERT INTO سيٽنگون (نالو، قدر) VALUES ('" ..name .. "'،" .. قدر .. ")؛"؛
db: عمل (اسڪوائر)
آخر

فنڪشنل سيٽ سيٽنگ اسٽوريج (نالو، قدر)
سيٽ سيٽنگ (نالو، "'" .. قدر .. "'")؛
آخر

سيٽنگ سيٽنگ فنڪشن ڪنهن به اڳئين سيٽنگون ميز تي محفوظ ڪئي ۽ اسان جي نئين قيمت ۾ داخل ڪري ٿي. اهو ڪم ڪندڙن ۽ تار جي وچ ۾ ڪم ڪندي، پر هڪ سوراخ ڪرڻ جي قيمت جي قيمت هڪ اڪيلو ڪوٽا جي ضرورت هوندي آهي، تنهنڪري اسان اسان لاء ڪجهه ڪم ڪرڻ لاء setSettingString प्रकाيت استعمال ڪيو آهي.

قدم ٽي: ڊيٽابيس مان لوڊڪوريٽنگ سيٽنگون

فنڪشنل حاصل ڪرڻ (نالو)

مقامي اسڪوچ = "منتخب ٿيل * سيٽنگون کان WHERE نالو = '" .. نالو .. "'"؛
مقامي قيمتي = -1؛

ڊب ۾ قطار لاء: ننڊ (اسڪوائر) ڪم ڪريو
قيمت = قطار.وليو؛
آخر

موٽڻ جو قدر؛
آخر

فنڪشنل حاصل ڪرڻ واري اسٽيشن (نالو)
مقامي اسڪوچ = "منتخب ٿيل * سيٽنگون کان WHERE نالو = '" .. نالو .. "'"؛
مقامي قيمت = ''؛

ڊب ۾ قطار لاء: ننڊ (اسڪوائر) ڪم ڪريو
قيمت = قطار.وليو؛
آخر

موٽڻ جو قدر؛
آخر

مٿي ڄاڻايل، اسان ٻن نسخن ۾ فعل کي ٽوڙي ڇڏيو آهي: هڪ هڪ انٽرنس ۽ هڪ هڪ سوراخ لاء. اسان جو اهو بنيادي سبب اهو ڪيو آهي ته اسان ان کي خاص قدر سان شروعات ڪري سگهون ٿا جيڪڏهن ڪو ڊيٽابيس ۾ موجود ناهي. حاصل سسٽم فنڪشنل هڪ -1 واپس ڪندو، جنهن کي اسان کي خبر ڏيو ته سيٽنگ محفوظ نه ڪئي وئي آهي. getSettingString ھڪڙو ھڪڙو سوراخ ڪندو.

getSettingString ڪارڪردگي مڪمل طور تي اختياري آھي. اهو ۽ ان کي عام حاصل سستي جي وچ ۾ رڳو فرق آهي، جيڪو واپس اچي چڪو آهي، جيڪڏهن ڊيٽابيس ۾ ڪجھ به نه مليو.

چار قدم: اسان جي سيٽنگون ٽيبل استعمال ڪندي

هاڻي ته اسان کي محنت وارو ڪم ڪيو آهي، اسان سسٽمائيٽ ڊيٽابيس تي سسٽم ۽ سيٽنگون محفوظ ڪري سگهون ٿا. مثال طور، اسان آواز هيٺ ڏنل بيان سان گونگا ڪري سگهون ٿا:

سيٽ ڪريو ('آواز'، غلط)؛

۽ اسان آوازن کي راند ڪرڻ لاء گلوبل فنڪشن ۾ ترتيب استعمال ڪري سگهون ٿا:

فنڪشنل راند جي حد (soundID)
جيڪڏهن (حاصل ڪرڻ ('آواز')) پوء
آڊيو.play (soundID)
آخر
آخر

اسان کي آواز کي واپس ڏيڻ لاء، اسان صرف سادي آواز واري سيٽ کي درست ڪيو.

سيٽ سيٽ ڪريو ('آواز'، سچا)؛

انهن فنڪشن جي باري ۾ سٺو حصو آهي ته توهان سيٽنگون ميز تي سوراخ يا عدد محفوظ ڪري سگهو ٿا ۽ انهن کي آسانيء سان ٻيهر حاصل ڪري سگهو ٿا. اهو توهان کي پنهنجي اعلي سکور کي بچائڻ لاء هڪ پليئر جي نالي کي بچائڻ کان ڪجهه ڪم ڪرڻ جي اجازت ڏئي ٿو.

ڪورونا SDK: ڪيري گرافڪس کي ڪيئن، منتقل گرافڪس ۽ گرافڪس فرنٽ ڏانهن آڻين