Học Unity
»
Lập trình Unity 3D
»
Bài hướng dẫn
»
Hướng dẫn sử dụng Save Game Pro để lưu dữ liệu trên game unity mà không bị mất
Danh hiệu: Administration
Nhóm: Guests
Gia nhập: 19-08-2014(UTC) Bài viết: 145
Được cảm ơn: 7 lần trong 6 bài viết
|
Cũng giống như bài mình đã hướng dẫn các bạn sử dụng package easysave để thực hiện lưu dữ liệu vào bộ nhớ theo kiểu json, trong bài này mình sẽ hướng dẫn các bạn sử dụng một công cụ hay 1 package khác mình cảm thấy ổn hơn easysave, package này các bạn phải mua mất phí tầm khoảng 20$, mình đã mua sẽ cung cấp phiên bản package ở phần dưới cho các bạn thực hiện.
Trong ví dụ này mình làm 1 demo nhỏ như sau đó là:
+ Click vào mục thực hiện việc lưu dữ liệu + Load dữ liệu sử dụng Save Game Pro. + Lọc và loại bỏ dữ liệu sử dụng linq
Điều đặc biệt mình thấy được đó là Save Game Pro có thể lưu được ngay cả trên bản IOS và android và nhiều môi trường khác, Link các bạn có thể tham khảo tài liệu hướng dẫn của nhà phát triển tại đây:
https://assetstore.unity.com/pac...me-pro-gold-update-89198
Dưới đây là các câu lệnh mình thực hiện: +Khai báo thư viện
Trích dẫn:using BayatGames.SaveGamePro.Extensions; using BayatGames.SaveGamePro; + Kiểm tra tồn tại của biến "DanhSach"
Trích dẫn: bool exists = SaveGame.Exists("DanhSach"); List<Data> lstData = new List<Data>(); if (exists == false) { SaveGame.Save("DanhSachVideo", lstDataTag); }
+ Data là một mảng list do bạn tự khai báo tùy từng thuộc tính có thể như này
Trích dẫn: public class DataTag { public string Id; public string Date; public string Current_Anh; public string Current_Ten; public string Current_ThuTu;
}
+ Thực hiện Load dữ liệu và kiểm tra chế độ null
Trích dẫn: List<DataTag> lstDataTag = new List<DataTag>(); lstDataTag = SaveGame.Load<List<DataTag>>("DanhSachVideo");
if (lstDataTag == null) { return; }
Như vậy với hướng dẫn trên các bạn hoàn toàn có thể thực hiện việc lưu, chỉ cần test tỉ mỉ chút là có kết quả.
* Bổ dung thêm các bạn một hàm mình viết cho chương trình của mình để các bạn xem thêm
Trích dẫn: public void AddDataJson(GameObject panelVideoDaTag, string Id, string Date, string Current_Anh, string Current_Ten, string Current_ThuTu) {
bool exists = SaveGame.Exists("DanhSachVideo"); List<DataTag> lstDataTag = new List<DataTag>(); if (exists == false) { SaveGame.Save("DanhSachVideo", lstDataTag); }
lstDataTag = SaveGame.Load<List<DataTag>>("DanhSachVideo");
for(int i=lstDataTag.Count-1;i>=0 ;i--) { if(lstDataTag[i].Current_Code_YT==Current_Code_YT) { lstDataTag.RemoveAt(i); } } DataTag newData = new DataTag(); newData.Id = Id; newData.Date = Date; newData.Current_Anh = Current_Anh; newData.Current_Ten = Current_Ten; newData.Current_ThuTu = Current_ThuTu; lstDataTag.Add(newData); SaveGame.Save("DanhSachVideo", lstDataTag); StartCoroutine(VideoDaDuocTag(panelVideoDaTag,"Video đã được tag")); }
Dưới đây là Link code, Pass: 3dvietpro các bạn nhé https://drive.google.com/file/d/...GXZg_Nd/view?usp=sharing
Link Demo chạy được các bạn nhé: https://drive.google.com...kL3326l/view?usp=sharing
Mình có làm 1 ví dụ đơn giản tại file các bạn xem nhé: https://drive.google.com...9OqW-Qx/view?usp=sharing
Ngoài vấn đề lưu cơ bản này, savegamepro, còn nhiều tính năng lưu nữa liên quan đến cơ sở dữ liệu, các bạn có thể đọc thêm hướng dẫn để biết thêm nhé. Rất mong sự đóng góp và phản hồi từ các bạn.
Admin.
Sửa bởi người viết 05/02/2021 lúc 09:59:28(UTC)
| Lý do: Chưa rõ
|
|
|
|
Học Unity
»
Lập trình Unity 3D
»
Bài hướng dẫn
»
Hướng dẫn sử dụng Save Game Pro để lưu dữ liệu trên game unity mà không bị mất
Di chuyển
Bạn không thể tạo chủ đề mới trong diễn đàn này.
Bạn không thể trả lời chủ đề trong diễn đàn này.
Bạn không thể xóa bài của bạn trong diễn đàn này.
Bạn không thể sửa bài của bạn trong diễn đàn này.
Bạn không thể tạo bình chọn trong diễn đàn này.
Bạn không thể bỏ phiếu bình chọn trong diễn đàn này.