Posted on Tháng Mười 28, 2019
Tạo một project LibGDX
LibGDX cung cấp một bộ công cụ hỗ trợ cho phép bạn bắt đầu tạo ra một dự án đơn giản tối thiểu. Công cụ tạo cấu trúc project được hỗ trợ bời Gradle cho phép bạn chạy/test/deploy/debug bằng command line hoặc bất cứ IDE nào bạn thích.
Tạo nhanh một project
- Tải xuống công cụ setup project LibGDX link
- Mở command line, trỏ đến đường dẫn download bên trên và chạy lệnh bên dưới
java -jar gdx-setup.jar
Sau khi chạy sẽ có một cửa sổ mở lên với các thông tin bên dưới
- Name: Tên của project
- Package: Thường có dạng như com.weeant…
- Game class: Class main của game
- Destination: Cấp thư mục chứa project
- Android SDK: Trỏ đến đường dấn của Android SDK
SubProjects
- Chọn những subproject mà bạn mong muốn, ở đây tức là các nền tảng bạn muốn phát hành game đến như android, ios, html,…
Extensions
- Chọn những phần mở rộng bạn muốn add them vào project. LibGDX thì hỗ trọ các mở rộng bên dưới:
- Bullet: Thư viện phát hiện va chạm vật rắn ở mô trường 3D.
- FreeType Scallable font. Rất tiện lợi để quản lí font chữ. Tuy nhiên có khó khan trong việc tương thích HTML.
- Tools là một tập hợp các công cụ bao gồm: chỉnh sửa điểm ảnh (2d/3d), bitmap font và image texture packers.
- Controller là thư viện dung để xử lý việc điều khiển (VD: điều khiển XBox 360).
- Box2d: Box2D là một thự viện vật lý 2D.
- Box2dlights: là một framework dung box2d để chiếu/phản xạ ánh sáng và OpenGL ES 2.0 để vẽ.
- Ashley: Một framework nhỏ về vật thể.
- Ai: Một framework về AI.
Ngoài ra có thể dùng command line để tạo project như bên dưới, tuy nhiên không khuyên dùng, nếu muốn các bạn có thể tự tìm hiểu thêm.
Cấu trúc trúc project của LibGDX
LibGDX project thì được tạo tự động bởi công cụ setup như trên và có rất nhiều các nhiều các layout đi kèm. Các layout này sẽ có chút thay đổi tùy thuộc vào nền tảng bạn lựa chọn phát hành game. Tuy nhiên thì nhìn chung là nó khá tương đồng.
settings.gradle <- định nghĩa sub-modules. By default core, desktop, android, html, ios, ios-moe
build.gradle <- main Gradle build file, định nghĩa các dependencies và plugins
gradlew <- script that will run Gradle on Unix systems
gradlew.bat <- script that will run Gradle on Windows
gradle <- local gradle wrapper
local.properties <- Gradle only file, defines android sdk location
gradle.properties <- Gradle properties file, defines Gradle settings such as daemon and RAM limits
core/
---- build.gradle <- Gradle build file for core project*
---- src/ <- Source folder for all your game's code
desktop/
---- build.gradle <- Gradle build file for desktop project*
---- src/ <- Source folder for your desktop project, contains Lwjgl launcher class
android/
---- build.gradle <- Gradle build file for android project*
---- AndroidManifest.xml <- Android specific config
---- assets/ <- contains for your graphics, audio, etc. Shared with other projects.
---- res/ <- contains icons for your app and other resources
---- src/ <- Source folder for your Android project, contains android launcher class
html/
---- build.gradle <- Gradle build file for the html project*
---- src/ <- Source folder for your html project, contains launcher and html definition
---- webapp/ <- War template, on generation the contents are copied to war. Contains startup url index page and web.xml
ios/
---- build.gradle <- Gradle build file for the ios project*
---- src/ <- Source folder for your ios project, contains launcher
ios-moe/
---- build.gradle <- Gradle build file for the ios-moe project*
---- src/ <- Source folder for your ios project, contains launcher
Gradle là gì
Gradle là một hệ thống quản lý và build các dependency.
Hệ thống quản lý dependency là một cách dễ dàng để kéo các thư viện của bên thứ 3 vào dự án của bạn mà không phải lưu trữ các thư viện trong thư mục source của bạn. Thay vào đó, hệ thống quản lý dependency dựa vào một tập tin cấu hình trong source của bạn chỉ định tên và phiên bản của các thư viện bạn cần đưa vào ứng dụng của mình. Thêm, xóa và thay đổi phiên bản của thư viện bên thứ 3 cũng dễ như thay đổi một vài dòng trong tệp cấu hình đó. Hệ thống quản lý phụ thuộc sẽ lấy các thư viện mà bạn đã chỉ định từ kho lưu trữ trung tâm (trong trường hợp của chúng tôi là Maven Central) và lưu trữ chúng trong một thư mục bên ngoài dự án của bạn.
Một hệ thống xây dựng giúp xây dựng và đóng gói ứng dụng của bạn mà không bị ràng buộc với một IDE cụ thể. Điều này đặc biệt hữu ích nếu bạn sử dụng máy chủ tích hợp hoặc tích hợp liên tục, nơi IDE không có sẵn. Thay vào đó, máy chủ xây dựng có thể gọi hệ thống xây dựng, cung cấp cho nó cấu hình bản dựng để nó biết cách xây dựng ứng dụng của bạn cho các nền tảng khác nhau.
Trong trường hợp của Gradle, cả hệ thống quản lý và xây dựng dependency đều đi đôi với nhau. Cả hai đều được cấu hình trong cùng một tập hợp các tập tin đó, hệ thống quản lý dependency dựa vào một tập tin cấu hình trong source của bạn chỉ định tên và phiên bản của các thư viện bạn cần đưa vào ứng dụng của mình. Thêm, xóa và thay đổi phiên bản của thư viện bên thứ 3 cũng dễ như thay đổi một vài dòng trong tệp cấu hình đó. Hệ thống quản lý phụ thuộc sẽ lấy các thư viện mà bạn đã chỉ định từ kho lưu trữ trung tâm (trong trường hợp của chúng tôi là Maven Central) và lưu trữ chúng trong một thư mục bên ngoài dự án của bạn.
Một hệ thống xây dựng giúp xây dựng và đóng gói ứng dụng của bạn mà không bị ràng buộc với một IDE cụ thể. Điều này đặc biệt hữu ích nếu bạn sử dụng máy chủ tích hợp hoặc tích hợp liên tục, nơi IDE không có sẵn. Thay vào đó, máy chủ xây dựng có thể gọi hệ thống xây dựng, cung cấp cho nó cấu hình bản dựng để nó biết cách xây dựng ứng dụng của bạn cho các nền tảng khác nhau.
Trong trường hợp của Gradle, cả hệ thống quản lý và xây dựng dependency đều đi đôi với nhau. Cả hai đều được cấu hình trong cùng một tập hợp các tệp
Phản hồi gần đây