Corona SDK-д тоглоомын өгөгдлийг ачаалах болон хадгалах талаар

Тоглоомын өгөгдөл болон Тохиргоог хадгалахын тулд SQLite-г хэрхэн ашиглах талаар

Бараг бүх апп болон тоглоомын бараг нэг зүйл бол мэдээллийн санг хадгалдаг ба сэргээх хэрэгцээ юм. Хамгийн энгийн тоглоом нь SQLite-ийг ашиглахын тулд програмын хувилбарын дугаарыг хадгалах боломжтой бөгөөд энэ нь шинэчлэлтийг хийхэд нийцтэй байдлыг хангахад ашиглагдаж болох юм.

Хэрэв та өгөгдлийн сантай хэзээ ч их ажил хийгээгүй, эсвэл өгөгдлийн сангийн өгөгдлийг Corona SDK- д ашигладаг бол санаа зовох хэрэггүй. Энэ нь Corona SDK-д ашиглагддаг LUA болон SQLite өгөгдлийн сангийн хөдөлгүүрийн ачаар харьцангуй хялбар арга юм. Энэ заавар нь тохиргооны хүснэгтийг үүсгэх процессоор дамжин явдаг бөгөөд мэдээллийг хадгалж, сэргээн засварлаж байх болно. IPad програмыг хэрхэн хөгжүүлэх.

Мөн энэ техник нь хэрэглэгчидэд суурилсан тохиргоог хадгалахаас цаашлана гэдгийг санаарай. Жишээлбэл, хэрэв та тоглоом тоглох боломжтой бол "түүх" горим, "arcade" горим гэх мэт тоглоомын янз бүрийн горимуудыг ашиглан тоглуулж болно. Энэ тохируулгын хүснэгтийг одоогийн горимыг хадгалахад ашиглаж болно. Эсвэл хэрэглэгчээс тоглоомоос гарахаа больсон ч тэр ч байтугай үлдэх бусад өгөгдлүүдээ үргэлжлүүлэх болно.

Алхам нэг: Мэдээллийн санг эхлүүлэх, тохируулгын хүснэгтийг үүсгэх

Бидний хийх ёстой хамгийн эхний зүйл бол SQLite номын санг үүсгэх бөгөөд бидний програмыг хаана мэдээллийн санд хандахыг хэлээрэй. Энэ кодыг оруулах хамгийн тохиромжтой газар нь гол линкийн файлын дээд хэсэгт байгаа бусад шаардлагатай мэдэгдэлүүдийн хамт байна. Хэрэв мэдээллийн сан файл олдоогүй тохиолдолд мэдээллийн сангийн файлыг үүсгэх бөгөөд бид үүнийг Documents фолдерт хадгалж, үүнийг уншиж, бичиж өгнө.

"sqlite3" шаарддаг
local_page = system.pathForFile ("data.db", system.DocumentsDirectory);
db = sqlite3.open (data_path);

"Db" хувьсагчийг локализм гэж үзэхгүй байгааг анхаарна уу. Бид энэ төслийн хүрээнд мэдээллийн санд хандах боломжтой болсон. Мөн та бүхэлдээ өгөгдлийн сангийн функцуудад зориулсан .lua файл үүсгэж, өгөгдлийн баазыг тэр файлд локалиар хадгалах боломжтой.

Дараа нь бид тохиргоогоо хадгалах мэдээллийн баазыг үүсгэх хэрэгтэй:

local sql = "ТӨГСӨН ТЭРГҮҮЛЭХ тохиргоонууд (нэр, үнэ цэнэ);"
db: exec (sql);

Энэ мэдэгдэл нь манай тохируулгын хүснэгтийг үүсгэдэг. Апп нь ачаалах бүрт үүнийг ажиллуулах нь зүгээр байна. Учир нь хэрэв хүснэгт аль хэдийн байгаа бол энэ нь юу ч хийхгүй. Та энэ мэдэгдлийг мэдээллийн санг хаана байрлуулсан, эсвэл апп-ыг ажиллуулж буй функц дээрээ энэ тайлбарыг хийж болно. Үндсэн шаардлага нь (1) тухайн програмыг ажиллуулах бүрт эдгээр мэдэгдлийг гүйцэтгэх, (2) тохиргоог ачаалах буюу хадгалахын тулд дуудлага хийхээс өмнө гүйцэтгэнэ.

Хоёрдугаар алхам: Өгөгдлийн санд хадгалах тохиргоо

функцийн setSetting (нэр, үнэ цэнэ)
sql = "АНХААРГУУЛГАДЫН тохиргооноос хассан нэр = '" .. name .. "'";
db: exec (sql)

sql = "INSERT INTO тохиргоо (нэр, үнэ цэнэ) VALUES ('" ..name .. "'," .. value .. ");";
db: exec (sql)
Төгсгөл

функцийн setSettingString (нэр, үнэ цэнэ)
setSetting (нэр, "'" .. value .. "'");
Төгсгөл

SetSetting функц нь хүснэгтэд хадгалагдсан өмнөх тохиргоог устгаж, шинэ утгыг оруулдаг. Энэ нь бүхэл тоо, мөрүүдийг хоёуланг нь хамтад нь холбох боловч string-ийг хэмнэхийн тулд үнэ цэнийг тойрон хүрээлсэн байхыг шаарддаг. Ингэснээр setSettingString функцыг бидэнд зориулж нэмэлт ажил хийх боломжтой болсон.

Гуравдугаар алхам: Мэдээллийн сангаас тохиргоог ачаалж байна

функц getSetting (нэр)

local sql = "SELECT * FROM settings settings WHERE name = '" .. name .. "'";
орон нутгийн утга = -1;

db дэх мөрөнд: nrows (sql) хийдэг
утга = row.value;
Төгсгөл

буцах утга;
Төгсгөл

getSettingString функц (нэр)
local sql = "SELECT * FROM settings settings WHERE name = '" .. name .. "'";
орон нутгийн утга = '';

db дэх мөрөнд: nrows (sql) хийдэг
утга = row.value;
Төгсгөл

буцах утга;
Төгсгөл

Дээр дурдсанчлан, бид функцуудыг хоёр хувилбар болгон хуваажээ: нэг нь бүхэл тоо, нэг нь мөр нь. Үүний гол шалтгаан нь өгөгдлийн сан дахь тохиргоо байхгүй бол бид тодорхой утгуудаар тэдгээрийг эхлүүлж болох юм. GetSetting функц нь -1 утга буцаах болно. Энэ нь тохиргоо хадгалагдаагүй гэдгийг бидэнд мэдэгдэх болно. GetSettingString нь хоосон мөрийг буцаана.

GetSettingString функц бүрэн сонголт байна. Харин getSetting функцын хоорондох ялгаа нь өгөгдлийн санд олдохгүй бол буцаагдах зүйл юм.

Дөрөвдүгээр алхам: Бидний тохиргооны хүснэгтийг ашиглана уу

Одоо бид маш их хөдөлмөрлөсөн тул бид хялбархан ачааллаж, локалчлагдсан өгөгдлийн санд тохиргоог хадгалж чадна. Жишээ нь, бид дууг дараах илэрхийллээр дуусгана:

setSetting ('sound', false);

Мөн бид дууг тоглуулахын тулд глобал функцийг ашиглан тохиргоог ашиглаж болно:

функц playSound (soundID)
Хэрэв (getSetting ('sound')) байвал
audio.play (soundID)
Төгсгөл
Төгсгөл

Дууг буцааж асаахын тулд бид дууны тохиргоог үнэн гэж зааж өгнө:

setSetting ('sound', үнэн);

Эдгээр функцийн талаар сайхан хэсэг нь та string буюу бүхэл тоонуудыг тохируулах хүснэгтэнд хадгалж, тэдгээрийг хялбархан олж авах боломжтой. Энэ нь тоглогчдын нэрийг хадгалахаас өндөр оноо авахын тулд юу ч хийх боломжтой.

Corona SDK: Хэрхэн давхаргад Graphics, Moving Graphics ба Bring Graphics фронт руу шилжүүлнэ