ਕੋਰੋਨਾ ਐਸਡੀਕੇ ਵਿਚ ਗੇਮ ਡਾਟਾ ਕਿਵੇਂ ਲੋਡ ਕਰਨਾ ਹੈ ਅਤੇ ਕਿਵੇਂ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਹੈ

ਗੇਮ ਡਾਟਾ ਅਤੇ ਸੈਟਿੰਗਜ਼ ਸਟੋਰ ਕਰਨ ਲਈ SQLite ਨੂੰ ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ

ਇਕ ਗੱਲ ਇਹ ਹੈ ਕਿ ਲਗਭਗ ਹਰ ਐਪ ਅਤੇ ਗੇਮ ਵਿਚ ਇਕਸਾਰਤਾ ਹੈ ਕਿ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਅਤੇ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ. ਇੱਥੋਂ ਤੱਕ ਕਿ ਸਭ ਤੋਂ ਅਸਾਨ ਗੇਮ ਐਪਲੀਏਸ਼ਨ ਨੰਬਰ ਨੂੰ ਬਚਾਉਣ ਲਈ SQLite ਨੂੰ ਵਰਤ ਸਕਦਾ ਹੈ, ਜਿਸ ਨੂੰ ਅੱਪਗਰੇਡ ਕਰਨ ਸਮੇਂ ਅਨੁਕੂਲਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਜਾਂ ਸਧਾਰਨ ਸੈਟਿੰਗ ਜਿਵੇਂ ਕਿ ਖੇਡ ਦੀ ਅਵਾਜ਼ ਨੂੰ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰਨਾ.

ਜੇ ਤੁਸੀਂ ਕੈਟੋਨਾ ਐਸਡੀਕੇ ਵਿਚ ਡਾਟਾਬੇਸ ਫੀਚਰਾਂ ਨਾਲ ਕਿਤੇ ਵੀ ਕੰਮ ਨਹੀਂ ਕੀਤਾ ਹੈ ਜਾਂ ਡਾਟਾਬੇਸ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਹੈ , ਤਾਂ ਚਿੰਤਾ ਨਾ ਕਰੋ. ਇਹ ਅਸਲ ਵਿੱਚ ਇੱਕ ਸਿੱਧਾ ਪ੍ਰਕਿਰਿਆ ਪ੍ਰਕਿਰਿਆ ਹੈ ਕਿਉਂਕਿ ਲੂਨਾ ਦੀ ਸ਼ਕਤੀ ਅਤੇ ਕੋਰੋਨਾ ਐਸਡੀਕੇ ਵਿੱਚ ਵਰਤੇ ਗਏ ਸਿਕਊਕਟੇਟ ਡੇਟਾਬੇਸ ਇੰਜਣ ਦੀ ਸ਼ਕਤੀ ਹੈ. ਇਹ ਟਿਊਟੋਰਿਅਲ ਇੱਕ ਸੈਟਿੰਗ ਸਾਰਣੀ ਬਣਾਉਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਤੋਂ ਤੁਰ ਕੇ ਚੱਲੇਗੀ ਅਤੇ ਇਸ ਤੋਂ ਜਾਣਕਾਰੀ ਇਕੱਠੀ ਕਰਨ ਅਤੇ ਇਨ੍ਹਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਲਈ. ਆਈਪੈਡ ਐਪਸ ਕਿਵੇਂ ਵਿਕਸਿਤ ਕਰਨੇ ਹਨ

ਇਹ ਵੀ ਯਾਦ ਰੱਖੋ ਕਿ ਇਹ ਤਕਨੀਕ ਉਪਭੋਗਤਾ-ਆਧਾਰਿਤ ਸੈਟਿੰਗਾਂ ਨੂੰ ਸਟੋਰ ਕਰਨ ਤੋਂ ਪਰੇ ਜਾ ਸਕਦੀ ਹੈ. ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ ਇੱਕ ਖੇਡ ਹੈ ਜੋ ਵੱਖਰੇ ਗੇਮ ਢੰਗ ਜਿਵੇਂ "ਕਹਾਣੀ" ਮੋਡ ਅਤੇ "ਆਰਕੇਡ" ਮੋਡ ਦੁਆਰਾ ਚਲਾਇਆ ਜਾ ਸਕਦਾ ਹੈ. ਇਹ ਸੈਟਿੰਗ ਸਾਰਣੀ ਵਰਤਮਾਨ ਮੋਡ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾ ਸਕਦੀ ਹੈ. ਜਾਂ ਡੇਟਾ ਦਾ ਕੋਈ ਹੋਰ ਟਿਕਾਣਾ ਜਿਸ ਤੇ ਤੁਸੀਂ ਲਗਾਤਾਰ ਬਣੇ ਰਹਿਣਾ ਚਾਹੋਗੇ ਭਾਵੇਂ ਯੂਜ਼ਰ ਖੇਡ ਖਤਮ ਹੋ ਜਾਵੇ ਅਤੇ ਇਸ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰਨ.

ਪਹਿਲਾ ਕਦਮ: ਡਾਟਾਬੇਸ ਅਰੰਭ ਕਰਨਾ ਅਤੇ ਸੈੱਟਿੰਗਜ਼ ਟੇਬਲ ਬਣਾਉਣਾ

ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਸਾਨੂੰ ਇਹ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਕਿ SQLite ਲਾਇਬ੍ਰੇਰੀ ਅਤੇ ਸਾਡੇ ਐਪ ਨੂੰ ਦੱਸੋ ਕਿ ਡਾਟਾਬੇਸ ਫਾਇਲ ਨੂੰ ਕਿੱਥੇ ਲੱਭਣਾ ਹੈ. ਇਸ ਕੋਡ ਨੂੰ ਰੱਖਣ ਦਾ ਸਭ ਤੋਂ ਵਧੀਆ ਸਥਾਨ ਮੁੱਖ. Lua ਫਾਈਲ ਦੇ ਸਿਖਰ ਤੇ ਹੈ ਜਿਸ ਦੇ ਨਾਲ ਬਾਕੀ ਦੇ ਬਿਆਨਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ. ਡਾਟਾਬੇਸ ਫਾਇਲ ਬਣਾਈ ਜਾਵੇਗੀ ਜੇ ਕੋਈ ਨਾ ਪਾਇਆ ਹੋਵੇ, ਅਤੇ ਅਸੀਂ ਇਸ ਨੂੰ ਡੌਕੂਮੈਂਟ ਫੋਲਡਰ ਵਿੱਚ ਸਟੋਰ ਕਰਾਂਗੇ ਤਾਂ ਜੋ ਅਸੀਂ ਇਸਨੂੰ ਪੜ੍ਹ ਸਕੀਏ ਅਤੇ ਇਸ ਨੂੰ ਲਿਖ ਸਕੀਏ.

"sqlite3" ਦੀ ਲੋੜ ਹੈ
ਲੋਕਲ ਡਾਟਾ_ ਪਥ = system.pathForFile ("data.db", system.documents ਡਾਇਰੈਕਟਰੀ);
db = sqlite3.open (data_path);

ਧਿਆਨ ਦਿਓ ਕਿ ਕਿਵੇਂ "db" ਵੇਰੀਏਬਲ ਸਥਾਨਕ ਨਹੀਂ ਹੈ. ਅਸੀਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਇਹ ਕੀਤਾ ਹੈ ਕਿ ਅਸੀਂ ਪੂਰੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਡਾਟਾਬੇਸ ਤਕ ਪਹੁੰਚ ਸਕਦੇ ਹਾਂ. ਤੁਸੀਂ ਸਾਰੇ ਡਾਟਾਬੇਸ ਫੰਕਸ਼ਨਾਂ ਲਈ ਇੱਕ ਖਾਸ .lua ਫਾਇਲ ਵੀ ਬਣਾ ਸਕਦੇ ਹੋ ਅਤੇ ਉਸ ਫਾਇਲ ਨੂੰ ਡਾਟਾਬੇਸ ਨੂੰ ਸਥਾਨਕ ਬਣਾ ਸਕਦੇ ਹੋ.

ਅੱਗੇ, ਸਾਨੂੰ ਡਾਟਾਬੇਸ ਦੀ ਸਾਰਣੀ ਬਣਾਉਣ ਦੀ ਜ਼ਰੂਰਤ ਹੈ ਜੋ ਸਾਡੀਆਂ ਸੈਟਿੰਗਜ਼ ਨੂੰ ਸਟੋਰ ਕਰੇਗਾ:

ਸਥਾਨਕ sql = "ਸੈਟਿੰਗਜ਼ (ਨਾਮ, ਮੁੱਲ) ਮੌਜੂਦ ਨਾ ਹੋਵੇ ਤਾਂ ਟੇਬਲ ਬਣਾਉ;"
db: exec (sql);

ਇਹ ਬਿਆਨ ਸਾਡੀ ਸੈਟਿੰਗ ਸਾਰਣੀ ਬਣਾਉਂਦਾ ਹੈ. ਜਦੋਂ ਵੀ ਟੇਬਲ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ, ਤਾਂ ਇਹ ਹਰ ਵਾਰ ਐਪ ਲੋਡ ਹੋਣ ਤੇ ਚਲਾਉਣਾ ਠੀਕ ਹੈ, ਇਹ ਬਿਆਨ ਕੁਝ ਨਹੀਂ ਕਰੇਗਾ. ਤੁਸੀਂ ਇਸ ਸਟੇਟਮੈਂਟ ਨੂੰ ਜਿੱਥੇ ਅਸੀਂ ਡਾਟਾਬੇਸ ਘੋਸ਼ਿਤ ਕਰ ਦਿੱਤਾ ਹੈ ਜਾਂ ਇਸ ਫੰਕਸ਼ਨ ਵਿੱਚ, ਜਿਸ ਵਿੱਚ ਤੁਹਾਡੀ ਐਕ ਨੂੰ ਚਲਾਉਣ ਲਈ ਸੈੱਟ ਹੈ, ਪਾ ਸਕਦੇ ਹੋ. ਮੁੱਖ ਜ਼ਰੂਰਤ (1) ਉਹ ਵਾਰਾਂ ਨੂੰ ਐਕਟੀਵੇਸ਼ਨ ਦੁਆਰਾ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ ਅਤੇ (2) ਸੈਟਿੰਗਾਂ ਨੂੰ ਲੋਡ ਕਰਨ ਜਾਂ ਸੇਵ ਕਰਨ ਲਈ ਕਿਸੇ ਵੀ ਕਾਲ ਤੋਂ ਪਹਿਲਾਂ ਇਸਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ.

ਕਦਮ ਦੋ: ਡਾਟਾਬੇਸ ਨੂੰ ਸੈਟਿੰਗਜ਼ ਸੇਵਿੰਗ

ਫੰਕਸ਼ਨ ਸੈੱਟ ਸੈਟਿੰਗ (ਨਾਮ, ਮੁੱਲ)
sql = "ਸੈਟਿੰਗਾਂ ਤੋਂ ਮਿਟਾਓ ਜਿੱਥੇ ਨਾਂ = '" .. ਨਾਮ .. "'";
db: exec (sql)

sql = "ਸੈਟਿੰਗਜ਼ ਵਿੱਚ ਦਾਖਲ ਕਰੋ (ਨਾਮ, ਮੁੱਲ) ਮੁੱਲ ('" ..name .. "," .. ਮੁੱਲ .. ");";
db: exec (sql)
ਅੰਤ

ਫੰਕਸ਼ਨ ਸੈੱਟ ਸੈਟਿੰਗਸਟ੍ਰਿੰਗ (ਨਾਮ, ਮੁੱਲ)
setSetting (ਨਾਮ, "'" ".. ਮੁੱਲ .."' ');
ਅੰਤ

SetSetting ਫੰਕਸ਼ਨ ਸਾਰਣੀ ਵਿੱਚ ਸੰਭਾਲੀ ਕਿਸੇ ਵੀ ਪਿਛਲੀ ਸੈਟਿੰਗ ਨੂੰ ਮਿਟਾਉਂਦਾ ਹੈ ਅਤੇ ਸਾਡੀ ਨਵੀਂ ਵੈਲਯੂ ਸ਼ਾਮਿਲ ਕਰਦਾ ਹੈ. ਇਹ ਦੋਵੇਂ ਪੂਰਨ ਅੰਕ ਅਤੇ ਸਟਰਿੰਗਾਂ ਨਾਲ ਕੰਮ ਕਰੇਗਾ, ਪਰ ਇੱਕ ਸਤਰ ਦੀ ਬਚਤ ਲਈ ਮੁੱਲ ਦੇ ਦੁਆਲੇ ਇੱਕ ਸਿੰਗਲ ਕੋਟਸ ਦੀ ਲੋੜ ਹੈ, ਇਸ ਲਈ ਅਸੀਂ setSettingString ਫੰਕਸ਼ਨ ਨੂੰ ਸਾਡੇ ਲਈ ਉਸ ਨੂੰ ਹੋਰ ਜਿਆਦਾ ਕੰਮ ਕਰਨ ਲਈ ਵਰਤਿਆ ਹੈ.

ਤੀਜਾ ਕਦਮ: ਡਾਟਾਬੇਸ ਤੋਂ ਸੈਟਿੰਗਜ਼ ਨੂੰ ਲੋਡ ਕਰਨਾ

ਫੰਕਸ਼ਨ getSetting (ਨਾਮ)

ਸਥਾਨਿਕ sql = "SELECT * FROM ਸੈਟਿੰਗਾਂ ਜਿੱਥੇ ਕਿ ਨਾਮ = '" .. ਨਾਮ .. "'";
ਸਥਾਨਕ ਮੁੱਲ = -1;

db ਵਿੱਚ ਕਤਾਰ ਲਈ: nrows (sql) ਕਰੋ
ਮੁੱਲ = row.value;
ਅੰਤ

ਵਾਪਸੀ ਮੁੱਲ;
ਅੰਤ

ਫੰਕਸ਼ਨ getSettingString (ਨਾਮ)
ਸਥਾਨਿਕ sql = "SELECT * FROM ਸੈਟਿੰਗਾਂ ਜਿੱਥੇ ਕਿ ਨਾਮ = '" .. ਨਾਮ .. "'";
ਸਥਾਨਿਕ ਮੁੱਲ = '';

db ਵਿੱਚ ਕਤਾਰ ਲਈ: nrows (sql) ਕਰੋ
ਮੁੱਲ = row.value;
ਅੰਤ

ਵਾਪਸੀ ਮੁੱਲ;
ਅੰਤ

ਉਪਰੋਕਤ, ਅਸੀਂ ਫੰਕਸ਼ਨ ਨੂੰ ਦੋ ਸੰਸਕਰਣਾਂ ਵਿੱਚ ਵੰਡਿਆ ਹੈ: ਇੱਕ ਪੂਰਨ ਅੰਕ ਲਈ ਅਤੇ ਇੱਕ ਸਤਰ ਲਈ. ਸਾਡਾ ਮੁੱਖ ਕਾਰਨ ਇਹ ਹੈ ਕਿ ਅਸੀਂ ਇਹਨਾਂ ਨੂੰ ਵਿਸ਼ੇਸ਼ ਮੁੱਲਾਂ ਨਾਲ ਸ਼ੁਰੂ ਕਰ ਸਕਦੇ ਹਾਂ ਜੇ ਡਾਟਾਬੇਸ ਵਿੱਚ ਕੋਈ ਸੈਟਿੰਗ ਨਹੀਂ ਹੈ. GetSetting ਫੰਕਸ਼ਨ -1 ਨੂੰ ਵਾਪਸ ਦੇਵੇਗਾ, ਜੋ ਸਾਨੂੰ ਦੱਸੇਗੀ ਕਿ ਸੈਟਿੰਗ ਨੂੰ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ. GetSettingString ਇੱਕ ਖਾਲੀ ਸਤਰ ਵਾਪਸ ਕਰ ਦੇਵੇਗਾ.

GetSettingString ਫੰਕਸ਼ਨ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵਿਕਲਪਕ ਹੈ. ਇਸਦੇ ਅਤੇ ਆਮ getSetting ਫੰਕਸ਼ਨ ਵਿੱਚ ਸਿਰਫ ਇੱਕ ਅੰਤਰ ਹੈ ਜੇ ਡਾਟਾਬੇਸ ਵਿੱਚ ਕੁਝ ਨਾ ਪਾਇਆ ਗਿਆ ਹੈ ਤਾਂ ਕੀ ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ.

ਚੌਥਾ ਕਦਮ: ਸਾਡੇ ਸੈਟਿੰਗ ਸਾਰਣੀ ਦਾ ਇਸਤੇਮਾਲ ਕਰਨਾ

ਹੁਣ ਜਦੋਂ ਸਾਡੇ ਕੋਲ ਸਖ਼ਤ ਮਿਹਨਤ ਕੀਤੀ ਗਈ ਹੈ, ਤਾਂ ਅਸੀਂ ਆਸਾਨੀ ਨਾਲ ਸਥਾਂਤਰਿਤ ਡੇਟਾਬੇਸ ਵਿੱਚ ਸੈਟਿੰਗਜ਼ ਨੂੰ ਲੋਡ ਅਤੇ ਸੁਰੱਖਿਅਤ ਕਰ ਸਕਦੇ ਹਾਂ. ਉਦਾਹਰਣ ਵਜੋਂ, ਅਸੀਂ ਹੇਠ ਲਿਖੇ ਸਟੇਟਮੈਂਟ ਨਾਲ ਆਵਾਜ਼ ਨੂੰ ਮੂਕ ਕਰ ਸਕਦੇ ਹਾਂ:

setSetting ('ਆਵਾਜ਼', ਗਲਤ);

ਅਤੇ ਅਸੀਂ ਆਵਾਜ਼ ਚਲਾਉਣ ਲਈ ਇੱਕ ਗਲੋਬਲ ਫੰਕਸ਼ਨ ਵਿੱਚ ਸੈਟਿੰਗ ਨੂੰ ਵਰਤ ਸਕਦੇ ਹਾਂ:

ਫੰਕਸ਼ਨ ਪਲੇਸਡ ਸਾਊਂਡ (ਸਾਊਂਡ ਆਈਡੀ)
ਜੇ (getSetting ('ਆਵਾਜ਼')) ਤਾਂ ਫਿਰ
audio.play (soundID)
ਅੰਤ
ਅੰਤ

ਆਵਾਜ਼ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ, ਅਸੀਂ ਆਵਾਜ਼ ਦੀ ਸੈਟਿੰਗ ਨੂੰ ਸਹੀ ਸੈਟ ਕਰਦੇ ਹਾਂ:

setSetting ('ਆਵਾਜ਼', ਸਹੀ ਹੈ);

ਇਹਨਾਂ ਫੰਕਸ਼ਨਾਂ ਬਾਰੇ ਵਧੀਆ ਹਿੱਸਾ ਹੈ ਤੁਸੀਂ ਸੈੱਟਿੰਗਜ਼ ਸਾਰਣੀ ਵਿੱਚ ਸਤਰਾਂ ਜਾਂ ਪੂਰਨ ਅੰਕ ਸੁਰੱਖਿਅਤ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ. ਇਹ ਤੁਹਾਨੂੰ ਉੱਚ ਸਕੋਰ ਨੂੰ ਬਚਾਉਣ ਲਈ ਕਿਸੇ ਖਿਡਾਰੀ ਦੇ ਨਾਮ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਤੋਂ ਕੁਝ ਵੀ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ.

ਕੋਰੋਨਾ ਐਸਡੀਕੇ: ਲੇਅਰ ਗਰਾਫਿਕਸ, ਮੂਵ ਗਰਾਫ਼ਿਕਜ਼ ਅਤੇ ਫਰੰਟ ਸਾਹਮਣੇ ਲਿਆਉਣ ਲਈ ਗਰਾਫਿਕਸ ਕਿਵੇਂ ਕਰੀਏ