logo
Khóa học lập trình game server - smartfox - game đa người chơi Học lập trinh game online 3dvietpro Sửa chữa và thiết kế website .net
Welcome Guest! To enable all features please Đăng nhập or Đăng ký.

Thông báo

Icon
Error

Tùy chọn
Xem
Xem bài viết cuối Go to first unread
JungJinHyuk  
#1 Đã gửi : 29/09/2014 lúc 11:25:02(UTC)
JungJinHyuk

Danh hiệu: Administration

Nhóm:
Gia nhập: 20-08-2014(UTC)
Bài viết: 60

Cảm ơn: 2 lần
Được cảm ơn: 2 lần trong 2 bài viết
bài viết được trích của bạn tiến nguyễn trong unityviet
=======================================================
Chúng ta đã biết được cách lưu trữ thông tin đơn giản với PlayerPrefs và ưu điểm của việc sử dụng SimpleJSON để lưu trữ dữ liệu game qua 2 phần trước.

Hôm nay mình xin tiếp tục series Save Game này với Phần 3:

Lưu trữ thông tin phức tạp:
Thế nào là thông tin phức tạp? Đối với các object và thuộc tính của chúng bao gồm các cấu trúc dữ liệu là các loại dữ liệu tập hợp (List, Map, Set…) và ngoài ra còn có các kiểu dữ liệu atomic (bool, int, float) thì chúng ta gọi là phức tạp.

Để phục vụ lưu trữ những object kiểu như thế ta sẽ dùng SimpleJSON để serialize về dạng string và dùng PlayerPrefs để lưu trữ xuống đĩa cứng (persistent).

Trước hết chúng ta sẽ implement một class để phục vụ việc lưu trữ (wrapper PlayerPrefs) và sử dụng interface của class này để phục vụ cho việc dễ dàng thay đổi tầng lưu trữ về sau:

StStorageLocal.cs

Tiếp tục chúng ta sẽ implement một đối tượng (class) phức tạp và load dữ liệu từ đĩa mỗi khi khởi tạo và lưu trữ xuống đĩa khi có sử thay đổi:

StUserAchiments.cs (lưu trữ thông tin màn chơi và kết quả)

Thảo luận:
+ Chúng ta đã áp dụng mẫu Singleton vào đối tượng StUserAchiment.

+ Đối tượng này chưa thực sự đươc tối ưu hóa (abstract để phục vụ mở rộng, trách việc lập code ở những đối tượng cùng loại)

+ Việc serialize chưa được tự động khi thêm một thuộc tính mới vào đối tượng.

+ Ở các hàm set mình đã thực hiện thao tác put (lưu trữ xuống đĩa) ngày tức thì, việc này sẽ ảnh hưởng đến performance của chương trình. Ở đây chúng ta có thể kiểm tra và lưu trữ một cách thông tin hơn.
Bạn bình luận ngay tại đây
Ai đang xem chủ đề này?
Guest
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.

Powered by YAF 2.1.0 | YAF © 2003-2024, Yet Another Forum.NET
Thời gian xử lý trang này hết 0.169 giây.