Skip to content

Giới thiệu

Pham Tien Dzung edited this page Sep 3, 2020 · 1 revision

X9 Project Framework

Author: Hallo Patidu X9 Guru Group .ORG

TIỆN ÍCH SỬ DỤNG

  • Hạn chế sử dụng event system mặc định của cocos creator. Từ đó hỗ trợ giảm thiểu đáng kể các lỗi phát sinh do quá trình tương tác phức tạp, chồng chéo của các listener handler..
  • Áp dụng cơ chế Component Statement với toàn bộ ứng dụng. Tận dụng được các tính chất ổn định và hiệu suất cao như với React, Vue.
  • Dễ dàng gửi nhận dữ liệu, handler các sự kiện giữa các component cùng node và khác node, kể cả cùng sence và khác scene.
  • Hỗ trợ liệt kê và phân loại component tự động trong danh sách component (danh sách hiện ra khi nhấn nút add Component).
  • Hỗ trợ mặc định Hot Update với các ứng dụng native đa nền tảng. Điển hình như hỗ trợ tạo bản build .zip cho Hot Update, tự động đánh version cho project.
  • Phân loại luồng sự kiện gửi di theo local và global.
  • Phân loại dữ liệu trước và sau, ưu tiên và không ưu tiên tới các component.
  • Cơ chế lưu và chia sẻ dữ liệu đã được mã hóa một cách linh hoạt.
  • Phân định rõ và đôc lập Game data với Game Logic.
  • Tự động cập nhật trạng thái component khi có sự kiện liên quan được kích hoạt.
  • Đơn giản, ít thủ tục khai báo, bám chặt vào lifecycle của cocos creator - cocos2d
  • Cơ chế nâng cao, hỗ trợ phương pháp tạo ra các framework khác nhau khác tùy thuộc vào thói quen sử dụng.
  • Hỗ trợ cực mạnh cho khả năng khôi phục trạng thái game trước đó mỗi lần khi khởi động lại.
  • Tính năng đặc thù: Micro Framework tạo ra framework.

Tính năng đang cập nhật

KHÁI NIỆM VÀ MÔ HÌNH HOẠT ĐỘNG

X9 Project Framework xây dựng trên nền bộ core (thư mục runtime-module/core) có kiến trúc Flux (Flux Application Architecture). Một loại design pattern có chức năng chính là quản lý dòng dữ liệu trong toàn bộ ứng dụng. Dòng dữ liệu được xây dựng theo hướng một chiều, thể hiện tương tác giữa các thành phần kết cấu lên ứng dụng.

Kiến trúc luồng dữ liệu của Flux Core

Trong kiến trúc bộ core (thư mục runtime-module/core) có các thành phần chính theo kiến trúc flux: Dispatch Action (đại diện là class Command để tránh nhầm lẫn với CCAction) Store View (cơ chế render của engine cocos2dx và thể hiện qua bộ công cụ cocos creator)

Luồng dữ liệu một chiều thể hiện theo sơ đồ sau:

flux core

  • Người dùng gửi một action (command)
  • Dispatcher phân phối Action tới các Store
  • Các Store lưu và xử lý dữ liệu sau đó đồng bộ tới View.
  • View là nơi thể hiện tương tác của user gửi action (command).

Kiến trúc luồng dữ liệu của X9 Project Framework

Trong kiến trúc luồng dữ liệu của X9 Project Framework, luồng data một chiều vẫn được kế thừa và giữ nguyên của Core. Đồng thời để có thể sử dụng được cơ chế xử lý đồng bộ dữ liệu với view từ các Component của Cocos Creator, Store trong mô hình của Core sẽ phải biến đổi để bao gồm tính năng của cả Store lẫn của cc.Component.

x9 framework

Các thành phần chính trong X9 Project Framework: Dispatcher X9 Command X9 Component

Trong khi sử dụng, chúng ta chỉ cần quan tâm tới X9 Command (đại diện là class X9Cmd) và X9 Component (đại diện là class X9Com).