ಕರೋನಾ SDK ಯಲ್ಲಿ ಡೇಟಾವನ್ನು ಲೋಡ್ ಮಾಡಿ ಮತ್ತು ಉಳಿಸುವುದು ಹೇಗೆ

ಡೇಟಾ ಮತ್ತು ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಗೇಮ್ ಸಂಗ್ರಹಿಸಲು SQLite ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು

ಪ್ರತಿಯೊಂದು ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತು ಆಟವು ಸಾಮಾನ್ಯವಾಗಿರುವ ಒಂದು ವಿಷಯವೆಂದರೆ ಡೇಟಾವನ್ನು ಶೇಖರಿಸಿ, ಹಿಂಪಡೆಯುವ ಅವಶ್ಯಕತೆಯಾಗಿದೆ. ಅತ್ಯಂತ ಸರಳವಾದ ಆಟವು ಅಪ್ಲಿಕೇಷನ್ ಆವೃತ್ತಿ ಸಂಖ್ಯೆಯನ್ನು ಉಳಿಸಲು SQLite ಅನ್ನು ಬಳಸಿಕೊಳ್ಳಬಹುದು, ಅದನ್ನು ಅಪ್ಗ್ರೇಡ್ ಮಾಡುವಾಗ ಹೊಂದಾಣಿಕೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಬಳಸಬಹುದು, ಅಥವಾ ಆಟದ ಧ್ವನಿ ಅನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡುವ ಸರಳ ಸೆಟ್ಟಿಂಗ್ಗಳು.

ನೀವು ಡೇಟಾಬೇಸ್ಗಳೊಂದಿಗೆ ಹೆಚ್ಚು ಕೆಲಸ ಮಾಡದಿದ್ದರೆ ಅಥವಾ ಕರೋನಾ SDK ಯಲ್ಲಿ ಡೇಟಾಬೇಸ್ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಬಳಸದಿದ್ದರೆ, ಚಿಂತಿಸಬೇಡಿ. ಇದು ಕರೋನಾ SDK ಯಲ್ಲಿ ಬಳಸಿದ LUA ಮತ್ತು SQLite ಡೇಟಾಬೇಸ್ ಎಂಜಿನ್ ಸಾಮರ್ಥ್ಯಕ್ಕೆ ವಾಸ್ತವವಾಗಿ ಒಂದು ಸರಳವಾದ ಪ್ರಕ್ರಿಯೆಯಾಗಿದೆ. ಈ ಟ್ಯುಟೋರಿಯಲ್ ಸೆಟ್ಟಿಂಗ್ಗಳ ಟೇಬಲ್ ರಚಿಸುವ ಪ್ರಕ್ರಿಯೆಯ ಮೂಲಕ ನಡೆಯುತ್ತದೆ ಮತ್ತು ಅದರಿಂದ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುವ ಮತ್ತು ಮರುಪಡೆಯುವುದು. IPad ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವುದು ಹೇಗೆ.

ಈ ವಿಧಾನವು ಬಳಕೆದಾರ-ಆಧಾರಿತ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದನ್ನು ಮೀರಿ ಹೋಗಬಹುದು ಎಂಬುದನ್ನು ನೆನಪಿನಲ್ಲಿಡಿ. ಉದಾಹರಣೆಗೆ, "ಕಥೆ" ಮೋಡ್ ಮತ್ತು "ಆರ್ಕೇಡ್" ಮೋಡ್ನಂತಹ ವಿಭಿನ್ನ ಆಟದ ವಿಧಾನಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಆಡಬಹುದಾದ ಆಟವನ್ನು ನೀವು ಹೊಂದಿದ್ದರೆ. ಈ ಸೆಟ್ಟಿಂಗ್ಗಳ ಟೇಬಲ್ ಅನ್ನು ಪ್ರಸ್ತುತ ಮೋಡ್ ಅನ್ನು ಶೇಖರಿಸಿಡಲು ಬಳಸಬಹುದು. ಅಥವಾ ಬಳಕೆದಾರನು ಆಟದಿಂದ ಹೊರಗುಳಿದರೆ ಮತ್ತು ಅದನ್ನು ಮರುಪರಿಶೀಲಿಸಿ ಸಹ ನೀವು ನಿರಂತರವಾಗಿ ಉಳಿಯಲು ಬಯಸುವ ಇತರ ಯಾವುದೇ ಡೇಟಾ.

ಹಂತ ಒಂದು: ಡೇಟಾಬೇಸ್ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ ಮತ್ತು ಸೆಟ್ಟಿಂಗ್ಗಳ ಟೇಬಲ್ ರಚಿಸಲಾಗುತ್ತಿದೆ

ನಾವು ಮಾಡಬೇಕಾದ ಮೊದಲ ವಿಷಯವೆಂದರೆ SQLite ಗ್ರಂಥಾಲಯವನ್ನು ಘೋಷಿಸಿ ಮತ್ತು ಡೇಟಾಬೇಸ್ ಫೈಲ್ ಅನ್ನು ಕಂಡುಹಿಡಿಯಲು ನಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ಗೆ ತಿಳಿಸಿ. ಈ ಕೋಡ್ ಅನ್ನು ಹಾಕಲು ಉತ್ತಮ ಸ್ಥಳವೆಂದರೆ ಮುಖ್ಯವಾದ ಲುಲು ಕಡತದ ಮೇಲ್ಭಾಗದಲ್ಲಿ ಬೇಕಾದ ಇತರ ಹೇಳಿಕೆಗಳೊಂದಿಗೆ. ಯಾವುದೂ ದೊರೆಯದಿದ್ದಲ್ಲಿ ಡೇಟಾಬೇಸ್ ಫೈಲ್ ರಚಿಸಲಾಗುವುದು ಮತ್ತು ನಾವು ಅದನ್ನು ಡಾಕ್ಯುಮೆಂಟ್ ಫೋಲ್ಡರ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತೇವೆ, ಇದರಿಂದ ನಾವು ಅದನ್ನು ಓದಬಹುದು ಮತ್ತು ಅದನ್ನು ಬರೆಯಬಹುದು.

"sqlite3" ಅಗತ್ಯವಿರುತ್ತದೆ
ಸ್ಥಳೀಯ ಡೇಟಾ_ಪ್ಯಾಥ್ = system.pathForFile ("data.db", ಸಿಸ್ಟಮ್. ಡಾಕ್ಯುಮೆಂಟ್ಸ್ ಡೈರೆಟರಿ);
db = sqlite3.open (data_path);

"ಡಿಬಿ" ವೇರಿಯಬಲ್ ಅನ್ನು ಹೇಗೆ ಸ್ಥಳೀಯಗೊಳಿಸಲಾಗಿಲ್ಲ ಎಂಬುದನ್ನು ಗಮನಿಸಿ. ನಮ್ಮ ಯೋಜನೆಯಲ್ಲಿ ನಾವು ಡೇಟಾಬೇಸ್ ಅನ್ನು ಪ್ರವೇಶಿಸಬಹುದು ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ನಾವು ಇದನ್ನು ಮಾಡಿದ್ದೇವೆ. ನೀವು ಎಲ್ಲಾ ಡೇಟಾಬೇಸ್ ಕ್ರಿಯೆಗಳಿಗೆ ನಿರ್ದಿಷ್ಟವಾದ. ಲೂವಾ ಫೈಲ್ ಅನ್ನು ರಚಿಸಬಹುದು ಮತ್ತು ಡೇಟಾಬೇಸ್ ಅನ್ನು ಆ ಫೈಲ್ಗೆ ಸ್ಥಳೀಯವಾಗಿ ಇರಿಸಬಹುದು.

ಮುಂದೆ, ನಾವು ನಮ್ಮ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸುವ ಡೇಟಾಬೇಸ್ ಟೇಬಲ್ ರಚಿಸಬೇಕಾಗಿದೆ:

ಸ್ಥಳೀಯ sql = "ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು (ಹೆಸರು, ಮೌಲ್ಯ) ತೆಗೆದುಹಾಕದಿದ್ದರೆ ಟೇಬಲ್ ಅನ್ನು ರಚಿಸಿ;"
db: exec (sql);

ಈ ಹೇಳಿಕೆಯು ನಮ್ಮ ಸೆಟ್ಟಿಂಗ್ಗಳ ಟೇಬಲ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ. ಟೇಬಲ್ ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ, ಈ ಹೇಳಿಕೆಯು ಏನನ್ನೂ ಮಾಡುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಅಪ್ಲಿಕೇಶನ್ ಲೋಡ್ ಆಗುವ ಪ್ರತಿ ಬಾರಿ ಅದನ್ನು ಚಲಾಯಿಸಲು ಸರಿಯಾಗಿದೆ. ಡೇಟಾಬೇಸ್ ಅಥವಾ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಚಲಾಯಿಸಲು ಹೊಂದಿಸುವ ಕಾರ್ಯದಲ್ಲಿ ನಾವು ಘೋಷಿಸಿದ ಸ್ಥಳದಲ್ಲಿ ಈ ಹೇಳಿಕೆಯನ್ನು ನೀವು ಹಾಕಬಹುದು. ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದಾಗ ಮತ್ತು (2) ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಅಥವಾ ಉಳಿಸಲು ಯಾವುದೇ ಕರೆಗಳಿಗೆ ಮೊದಲು ಆ ಹೇಳಿಕೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಮುಖ್ಯ ಅವಶ್ಯಕತೆ (1) ಆಗಿದೆ.

ಹಂತ ಎರಡು: ಡೇಟಾಬೇಸ್ಗೆ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಉಳಿಸಲಾಗುತ್ತಿದೆ

ಕಾರ್ಯ ಸೆಟ್ಸೆಟ್ಟಿಂಗ್ (ಹೆಸರು, ಮೌಲ್ಯ)
sql = "ಸೆಟ್ಟಿಂಗ್ಗಳು ಎಲ್ಲಿ ಹೆಸರು =" "ಅಳಿಸಿ .. ಹೆಸರು .." "";
db: exec (sql)

SQL = "INSERT INTO ಸೆಟ್ಟಿಂಗ್ಗಳು (ಹೆಸರು, ಮೌಲ್ಯ) VALUES ('" ..ಹೆಸರು .. "'," .. ಮೌಲ್ಯ .. ");";
db: exec (sql)
ಅಂತ್ಯ

ಕಾರ್ಯ ಸೆಟ್ಸೆಟ್ಟಿಂಗ್ರಿಂಗ್ಸ್ರಿಂಗ್ (ಹೆಸರು, ಮೌಲ್ಯ)
ಸೆಟ್ಸೆಟ್ಟಿಂಗ್ (ಹೆಸರು, "'" .. ಮೌಲ್ಯ .. "'");
ಅಂತ್ಯ

ಸೆಟ್ಸೆಟ್ಟಿಂಗ್ ಕಾರ್ಯವು ಯಾವುದೇ ಹಿಂದಿನ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಟೇಬಲ್ಗೆ ಉಳಿಸುತ್ತದೆ ಮತ್ತು ನಮ್ಮ ಹೊಸ ಮೌಲ್ಯವನ್ನು ಸೇರಿಸುತ್ತದೆ. ಇದು ಪೂರ್ಣಾಂಕಗಳು ಮತ್ತು ತಂತಿಗಳೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಉಳಿಸುವುದರಿಂದ ಮೌಲ್ಯದ ಸುತ್ತ ಏಕೈಕ ಉಲ್ಲೇಖಗಳು ಬೇಕಾಗುತ್ತವೆ, ಆದ್ದರಿಂದ ನಾವು ಸೆಟ್ ಸೆಟ್ಟಿಂಗ್ ಸ್ಟ್ರಿಂಗ್ ಕಾರ್ಯವನ್ನು ನಮಗೆ ಆ ಹೆಚ್ಚಿನ ಬಿಟ್ ಕೆಲಸ ಮಾಡಲು ಬಳಸುತ್ತೇವೆ.

ಹಂತ ಮೂರು: ಡೇಟಾಬೇಸ್ನಿಂದ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ

ಫಂಕ್ಷನ್ getSetting (ಹೆಸರು)

ಸ್ಥಳೀಯ sql = "SELECT * ಸೆಟ್ಟಿಂಗ್ಗಳು ಎಲ್ಲಿ ಹೆಸರು = '" .. ಹೆಸರು .. "'";
ಸ್ಥಳೀಯ ಮೌಲ್ಯ = -1;

ಡಿಬಿನಲ್ಲಿ ಸಾಲುಗಾಗಿ: nrows (sql) ಮಾಡಿ
ಮೌಲ್ಯ = ಸಾಲು. ಮೌಲ್ಯ;
ಅಂತ್ಯ

ಮರಳುವ ಮೌಲ್ಯ;
ಅಂತ್ಯ

ಫಂಕ್ಷನ್ getSettingString (ಹೆಸರು)
ಸ್ಥಳೀಯ sql = "SELECT * ಸೆಟ್ಟಿಂಗ್ಗಳು ಎಲ್ಲಿ ಹೆಸರು = '" .. ಹೆಸರು .. "'";
ಸ್ಥಳೀಯ ಮೌಲ್ಯ = '';

ಡಿಬಿನಲ್ಲಿ ಸಾಲುಗಾಗಿ: nrows (sql) ಮಾಡಿ
ಮೌಲ್ಯ = ಸಾಲು. ಮೌಲ್ಯ;
ಅಂತ್ಯ

ಮರಳುವ ಮೌಲ್ಯ;
ಅಂತ್ಯ

ಮೇಲಿನಂತೆ, ನಾವು ಕಾರ್ಯಗಳನ್ನು ಎರಡು ಆವೃತ್ತಿಗಳಾಗಿ ಮುರಿದುಬಿಟ್ಟಿದ್ದೇವೆ: ಪೂರ್ಣಾಂಕಗಳಿಗಾಗಿ ಒಂದು ಮತ್ತು ತಂತಿಗಳಿಗೆ ಒಂದು. ಡೇಟಾಬೇಸ್ನಲ್ಲಿ ಯಾವುದೇ ಸೆಟ್ಟಿಂಗ್ ಇಲ್ಲದಿದ್ದರೆ ನಾವು ನಿರ್ದಿಷ್ಟ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಅವುಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲು ನಾವು ಇದನ್ನು ಮಾಡಿದ್ದೇವೆ. GetSetting ಕಾರ್ಯವು -1 ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ, ಇದು ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಉಳಿಸಲಾಗಿಲ್ಲ ಎಂದು ನಮಗೆ ತಿಳಿಸುತ್ತದೆ. GetSettingString ಖಾಲಿ ಸ್ಟ್ರಿಂಗ್ ಹಿಂತಿರುಗಿಸುತ್ತದೆ.

GetSettingString ಕಾರ್ಯವು ಸಂಪೂರ್ಣವಾಗಿ ಐಚ್ಛಿಕವಾಗಿರುತ್ತದೆ. ಡೇಟಾಬೇಸ್ನಲ್ಲಿ ಏನೂ ಕಂಡುಬರದಿದ್ದಲ್ಲಿ ಅದು ಮತ್ತು ಸಾಮಾನ್ಯ ಪಡೆಯುವಿಕೆಯ ಕಾರ್ಯಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವು ಮರಳುತ್ತದೆ.

ಹಂತ ನಾಲ್ಕು: ನಮ್ಮ ಸೆಟ್ಟಿಂಗ್ಗಳ ಟೇಬಲ್ ಅನ್ನು ಬಳಸಿ

ಈಗ ನಾವು ಹಾರ್ಡ್ ಕೆಲಸವನ್ನು ಮಾಡಿದ್ದೇವೆ, ನಾವು ಸುಲಭವಾಗಿ ಸ್ಥಳೀಯ ಡೇಟಾಬೇಸ್ಗೆ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಲೋಡ್ ಮಾಡಬಹುದು ಮತ್ತು ಉಳಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ನಾವು ಕೆಳಗಿನ ಹೇಳಿಕೆಯೊಂದಿಗೆ ಶಬ್ದವನ್ನು ಮ್ಯೂಟ್ ಮಾಡಬಹುದು:

ಸೆಟ್ಸೆಟ್ಟಿಂಗ್ ('ಧ್ವನಿ', ಸುಳ್ಳು);

ಶಬ್ದಗಳನ್ನು ಆಡುವ ಜಾಗತಿಕ ಕ್ರಿಯೆಯಲ್ಲಿ ನಾವು ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಬಳಸಿಕೊಳ್ಳಬಹುದು:

ಕಾರ್ಯದ ನಾಟಕ ಸೌಂಡ್ (ಸೌಂಡ್ಐಡಿ)
(getSetting ('sound')) ಆಗಿದ್ದರೆ
audio.play (soundID)
ಅಂತ್ಯ
ಅಂತ್ಯ

ಧ್ವನಿ ಮತ್ತೆ ಆನ್ ಮಾಡಲು, ನಾವು ಕೇವಲ ಧ್ವನಿ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ನಿಜಕ್ಕೆ ಹೊಂದಿಸುತ್ತೇವೆ:

ಸೆಟ್ಸೆಟ್ಟಿಂಗ್ ('ಧ್ವನಿ', ನಿಜ);

ಈ ಕ್ರಿಯೆಗಳ ಬಗ್ಗೆ ಒಳ್ಳೆಯ ಭಾಗವೆಂದರೆ ನೀವು ಸ್ಟ್ರಿಂಗ್ಗಳು ಅಥವಾ ಪೂರ್ಣಾಂಕಗಳನ್ನು ಸೆಟ್ಟಿಂಗ್ಗಳ ಟೇಬಲ್ಗೆ ಉಳಿಸಬಹುದು ಮತ್ತು ಸುಲಭವಾಗಿ ಅವುಗಳನ್ನು ಹಿಂಪಡೆಯಬಹುದು. ಆಟಗಾರನ ಹೆಸರನ್ನು ಅವರ ಹೆಚ್ಚಿನ ಸ್ಕೋರ್ ಉಳಿಸಲು ಉಳಿಸಲು ನೀವು ಇದನ್ನು ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.

ಕರೋನಾ SDK: ಲೇಯರ್ ಗ್ರಾಫಿಕ್ಸ್, ಮೂವ್ ಗ್ರಾಫಿಕ್ಸ್ ಮತ್ತು ಬ್ರಿಂಗ್ ಗ್ರಾಫಿಕ್ಸ್ ಫ್ರಂಟ್ಗೆ ಹೇಗೆ