کورونا SDK میں گیم ڈیٹا لوڈ اور محفوظ کریں

کھیل ڈیٹا اور ترتیبات کو اسٹور کرنے کیلئے SQLite استعمال کرنے کا طریقہ

ایک چیز تقریبا ہر ایپ اور کھیل عام طور پر ہے، ڈیٹا کو ذخیرہ اور دوبارہ حاصل کرنے کی ضرورت ہے. یہاں تک کہ سب سے زیادہ سادہ کھیل اپلی کیشن کے نمبر کو بچانے کے لئے SQLite کا استعمال کرسکتا ہے، جس میں اپ گریڈ کارکردگی کا مظاہرہ کرتے وقت مطابقت یقینی بنانے کے لئے استعمال کیا جاسکتا ہے، یا سادہ ترتیبات جیسے کھیل کی آواز کو تبدیل یا بند.

اگر آپ ڈیٹا بیس کے ساتھ بہت زیادہ کام نہیں کرتے ہیں یا کورونا SDK میں ڈیٹا بیس کی خصوصیات استعمال کرتے ہیں تو فکر مت کرو. یہ اصل میں ایک نسبتا براہ راست عمل ہے جو کہ LUA کی طاقت اور Corona SDK میں استعمال کردہ SQLite ڈیٹا بیس کے انجن کا شکریہ. اس سبق کو ترتیبات کی میز بنانے اور اس سے معلومات کو ذخیرہ کرنے اور دوبارہ حاصل کرنے کے عمل کے ذریعے چلیں گے. رکن اطلاقات کی ترقی کس طرح ہے.

یہ بھی خیال رکھنا ہے کہ یہ تکنیک صارف کی بنیاد پر ترتیبات کو ذخیرہ کرنے سے باہر جا سکتا ہے. مثال کے طور پر، اگر آپ کے پاس کھیل ہے جس میں مختلف کھیل کے طریقوں جیسے "کہانی" موڈ اور "آرکیڈ" موڈ کا استعمال کرتے ہوئے کھیلا جا سکتا ہے. یہ ترتیبات کی میز موجودہ موڈ کو ذخیرہ کرنے کے لئے استعمال کیا جا سکتا ہے. یا کسی بھی ڈیٹا کا دوسرا ٹکڑا جو آپ مسلسل جاری رہنا چاہتی ہے اگر صارف کھیل سے باہر نکلتا ہے اور اسے دوبارہ تبدیل کرتا ہے.

مرحلہ ون: ڈیٹا بیس کو شروع کرنے اور ترتیبات کی میز بنانے

ہمیں سب سے پہلے چیز کرنے کی ضرورت ہے SQLite لائبریری کا اعلان اور ہمارے ایپ کو بتائیں کہ ڈیٹا بیس فائل کو کہاں ڈھونڈنا ہے. اس کوڈ کو رکھنے کے لئے بہترین جگہ صحیح.lua فائل کے سب سے اوپر ہے، دوسرے کے ساتھ بیانات کی ضرورت ہوتی ہے. ڈیٹا بیس کی فائل پیدا کی جائے گی اگر کوئی بھی نہیں ملا، اور ہم اسے دستاویز فولڈر میں ذخیرہ کریں گے تاکہ ہم اس سے پڑھ سکیں اور اسے لکھیں.

"sqlite3" کی ضرورت ہوتی ہے
مقامی ڈیٹا_path = system.pathForFile ("data.db"، system.DocumentsDirectory)؛
db = sqlite3.open (data_path)؛

یاد رکھیں کہ "ڈی بی" متغیر مقامی کیسے نہیں ہے. ہم نے اس بات کو یقینی بنانے کے لئے کیا ہے کہ ہم اپنے منصوبے میں ڈیٹا بیس تک رسائی حاصل کرسکیں. آپ کسی بھی ڈیٹا بیس کے افعال کے لئے ایک مخصوص .lua فائل بھی تشکیل دے سکتے ہیں اور ڈیٹا بیس کو اس فائل میں مقامی رکھنے کے لۓ رکھ سکتے ہیں.

اگلا، ہمیں ڈیٹا بیس کی میز بنانے کی ضرورت ہے جو ہماری ترتیبات کو محفوظ کرے گی.

مقامی اسکرین = "تخلیق کریں جدول میں توسیع کی ترتیبات (نام، قیمت)؛"
DB: عملدرآمد (sql)؛

یہ بیان ہماری ترتیبات کی میز تخلیق کرتا ہے. ہر بار اپلی کیشن بوجھ کو چلانے کے لئے ٹھیک ہے کیونکہ ٹیبل پہلے ہی موجود ہے، یہ بیان کچھ بھی نہیں کرے گا. آپ اس بیان کو صحیح طریقے سے ڈال سکتے ہیں جہاں ہم نے ڈیٹا بیس کا اعلان کیا ہے یا اس تقریب میں جو آپ کو اے پی پی چلانے کے لئے مقرر کرتا ہے. اہم ضرورت (1) ہر بار اپلی کیشن شروع کی گئی بیانات کو انجام دینے کے لئے ہے اور (2) ترتیبات کو لوڈ کرنے یا بچانے کے لئے کسی بھی کال سے پہلے اس پر عملدرآمد کرتے ہیں.

مرحلہ دو: ڈیٹا بیس میں ترتیبات کی ترتیبات

فنکشن سیٹ سیٹنگ (نام، قدر)
sql = "ترتیبات سے خارج کر دیں جہاں نام = '' .. نام .. '' ''؛
ڈی بی: عملدرآمد (چوک)

sql = "اندرونی ترتیبات میں نام (نام، قیمت) VALUES ('' .. نام .." '، ".. قدر ..")؛ "؛
ڈی بی: عملدرآمد (چوک)
اختتام

فنکشن سیٹ سیٹنگ اسٹوریج (نام، قدر)
سیٹ سیٹنگ (نام، "'" .. قدر .. "' ')؛
اختتام

سیٹ سیٹنگ فنکشن میز پر محفوظ کردہ کسی بھی پچھلی ترتیبات کو خارج کر دیتا ہے اور ہماری نئی قیمت میں اضافہ کرتی ہے. یہ دونوں اشارے اور تار کے ساتھ کام کرے گا، لیکن ایک تار کو بچانے کی قیمت کے ارد گرد اکیلے ایک قیمتوں کی ضرورت ہوتی ہے، لہذا ہم نے اس کے لئے تھوڑا سا کام کرنے کے لئے سیٹ سیٹنگ اسٹوریج کا استعمال کیا ہے.

مرحلہ تین: ڈیٹا بیس سے ترتیبات کی ترتیبات

فنکشن حاصل سیٹنگ (نام)

مقامی sql = "منتخب کریں * ترتیبات سے جہاں نام = '' .. نام .. '' ''؛
مقامی قیمت = -1؛

ڈوب میں قطار کے لئے: نوں (sql) کرتے ہیں
قیمت = قطار.
اختتام

واپسی کی قیمت؛
اختتام

فنکشن حاصل سیٹنگ اسٹوریج (نام)
مقامی sql = "منتخب کریں * ترتیبات سے جہاں نام = '' .. نام .. '' ''؛
مقامی قیمت = ''؛

ڈوب میں قطار کے لئے: نوں (sql) کرتے ہیں
قیمت = قطار.
اختتام

واپسی کی قیمت؛
اختتام

مندرجہ بالا کے طور پر، ہم نے افعال کو دو ورژن میں توڑ دیا ہے: ایک انتر اور ایک کے لئے تار کے لئے. ہم نے یہ کیا اہم وجہ یہ ہے کہ ہم ان کے مخصوص اقدار کے ساتھ ابتداء کرسکتے ہیں اگر ڈیٹا بیس میں کوئی ترتیب موجود نہیں ہے. getSetting کی تقریب ایک -1 واپس آئے گی، جو ہمیں بتائے گا کہ ترتیب محفوظ نہیں ہوئی ہے. getSettingString ایک خالی تار واپس آئے گا.

getSettingString تقریب مکمل طور پر اختیاری ہے. اس اور عام getSetting تقریب کے درمیان فرق صرف وہی ہے جو ڈیٹا بیس میں کچھ نہیں ملا ہے.

مرحلہ چار: ہماری ترتیبات کی میز کا استعمال کرتے ہوئے

اب ہم نے مشکل کام کیا ہے، ہم مقامی ڈیٹا بیس میں ترتیبات کو آسانی سے لوڈ اور محفوظ کر سکتے ہیں. مثال کے طور پر، ہم مندرجہ بالا بیان کے ساتھ آواز گونگا سکتے ہیں:

سیٹ سیٹنگ ('آواز'، غلط)؛

اور ہم آواز چلانے کے لئے گلوبل فنکشن میں ترتیب استعمال کر سکتے ہیں:

فنکشن کے کھیل کے ارد گرد (soundID)
اگر (getSetting ('آواز')) پھر
آڈیو.play (soundID)
اختتام
اختتام

آواز کے پیچھے موڑنے کے لئے، ہم نے صرف آواز کی ترتیب کو صحیح طور پر مقرر کیا ہے:

سیٹ سیٹنگ ('آواز'، سچ)

ان افعال کے بارے میں اچھا حصہ یہ ہے کہ آپ ترتیبات ٹیبل پر تار یا اکاؤنٹس محفوظ کرسکتے ہیں اور انہیں آسانی سے دوبارہ حاصل کرسکتے ہیں. یہ آپ کو ان کے اعلی سکور کو بچانے کے لئے کھلاڑی کے نام کو بچانے سے کچھ بھی کرنے کی اجازت دیتا ہے.

کورونا SDK: گرافکس پرتوں کے لۓ، گرافکس منتقل کریں اور فرنٹ میں گرافک لائیں