Lập Trình Game Với Libgdx Là Gì, Libgdx Là Gì

Lập trình game android với libgdx. libGDX là một framework được dùng để phát triển game cho nhiều nền tảng: Android, iOS, Desktop, Web bằng ngôn ngữ lập trình Java. libGDX được phát triển bởi Mario Zechner. Thật thú vị và hữu ích khi sử dụng engine này để lập trình game cho mobile.

Bạn đang xem: Libgdx là gì

*

Lập trình game android với libgdx – Tạo project với libGDX

Bước 1. Tải libGDX. Bạn đọc truy cập libgdx.badlogicgames.com -> chọn Tải xuống ứng dụng Steup để tải libGDX về máy của mình.

*

Bước 2. Chạy tập tin gdx-setup.jar (Lưu ý máy của bạn phải cài JDK – Java Development Kit và Android SDK. Bạn có thể tải và cài đặt Android Studio bao gồm Android SDK). Quan sát hình bên dưới để biết Android SDK path.

*

Các thiết lập cần thiết

Name: Tên project Package: Tên gói (thư mục con trong project) Game class: Tên lớp Destination: Thư mục chứa libGDX project sau khi tạo Android SDK: Thư viện lập trình Android Sub Projects: Lựa chọn nền tảng mà game hỗ trợ

Sau khi thiết lập những yêu cầu trên -> chọn Tạo -> chọn Đúng (libGDX tự động tải những thư viện cần thiết vì vậy yêu cầu máy tính phải kết nối internet).

*

Bước 3. Import libGDX project vào Android Studio (Máy tính phải cài đặt Android Studio) theo trình thự sau:

*

Lập trình game android với libgdx – Cấu trúc libGDX project

Hình bên dưới thể hiện cấu trúc, ý nghĩa và sự liên kết giữa các project bên trong.

*

Theo hình trên, chúng ta có 4 proeject. Dự án cốt lõi là nơi lập trình viên viết code. Dự án Android tương ứng cho nền tảng Android. Tài nguyên game sẽ chứa trong project này. Dự án máy tính để bàn tương ứng cho nền tảng PC. Dự án web tương ứng cho nền tảng Web. Và nếu trong lúc tạo libGDX ở bước trên, chúng ta chọn Ios thì sẽ có thêm dự án iOS tương ứng cho nền tảng iOS.

Lập trình game android với libgdx – Hệ thống trạng thái game trong libGDX

Mỗi một trạng thái trong game tương ứng với một phương thức trong Java.

Xem thêm: Nghĩa Của Từ : Skis Là Gì ? Nghĩa Của Từ Skis Trong Tiếng Việt

public class MyGame triển khai ApplicationListener {public void create () {} public void render () {} public void resize (int width, int height) {} public void pause () {} public void resume () {} public void dispose ( ) {}}Phương thức create(): Phương thức này được gọi một lần khi application được tạo và dùng để khởi tạo trong game.

Phương thức resize(): Thực hiện thay đổi kích thước game theo thiết bị và được gọi sau phương thức create().

Phương thức render(): Có vai trò xử lý vòng lặp game (game loop)

Phương thức pause(): Đối với thiết bị di động, phương thức này được khi người dùng dùng nhấn phím Home hoặc khi có cuộc gọi đến. Đối với PC phương thức này được gọi trước phương thức dispose() khi người chơi thoát game.

Phương thức resume(): Phương thức này chỉ được gọi trên mobile, khi game chuyển từ trạng thái pause.

Phương thức dispose(): Được gọi khi kết thúc game.

Hình bên dưới thể hiện life cycle

*

Lập trình game android với libgdx – Vẽ hình trong libGDX

Khai báo các đối tượng SpriteBatch và Texture

SpriteBatch sp riêng;kết cấu Texture riêng;Tạo đối tượng tại phương thức create()

sp = new SpriteBatch ();texture = new Texture (Gdx.files.internal (“Tên tệp ảnh của bạn”));Vẽ hình tại phương thức render()

sp.draw (kết cấu, x, y);Ví dụ về xử lý vẽ hình trong libGDX

/ ** * Tạo bởi neftekumsk.com * /public class ImageExample mở rộng ApplicationAdapter { SpriteBatch sb; Kết cấu kết cấu; phao y;
Ghi đè
public void create () { sb = new SpriteBatch (); texture = new Texture (Gdx.files.internal (“jet.png”)); y = 0; }
Ghi đè
public void render () { Gdx.gl.glClearColor (1, 1, 1, 1); Gdx.gl.glClear (GL20.GL_COLOR_BUFFER_BIT); sp.begin (); sp.draw (kết cấu, 10, 100); tiêu(); }
Ghi đè
public void dispose () { texture.dispose (); }}

Lập trình game android với libgdx – Vẽ chuỗi trong libGDX

Khai báo các đối tượng SpriteBatch và BitmapFont

private SpriteBatch sp; private BitmapFont bf;Tạo đối tượng tại phương thức create()

sp = new SpriteBatch ();bf = new BitmapFont ();Vẽ chuỗi tại phương thức render()

sp.begin ();bf.draw (sp, “Văn bản của bạn”, x, y);tiêu();Một số thiết lập thường gặp khi vẽ chuỗi trong libGDX

1/ Thiết lập màu chữ (color)

bf.setColor (Color.ColorName);2/ Thiết lập cỡ chữ (size)

bf.getData().setScale(nf,mf);// Với n và m là những con sốVí dụ về thiết lập cỡ chữ trong libGDX

bf.getData (). setScale (2f, 2f);3/ Thiết lập màu nền (Background color)

Gdx.gl.glClearColor (Đỏ / 255, Xanh lục / 255, Xanh lam / 255, 1);Gdx.gl.glClear (GL20.GL_COLOR_BUFFER_BIT);Ví dụ thiết lập màu nền trắng trong libGDX. Lưu ý màu trắng thì Red = 255, Green = 255, Blue = 255 => Red/255 = 1, Green/255 = 1 và Blue/255 = 1.

Gdx.gl.glClearColor(1, 1, 1, 1)Ví dụ về xử lý vẽ chuỗi trong libGDX

/ ** * Tạo bởi neftekumsk.com * /public class StringExample mở rộng ApplicationAdapter { SpriteBatch sb; BitmapFont bf; String msg = “Trò chơi android với libGDX”;
Ghi đè
public void render () { Gdx.gl.glClearColor (1, 1, 1, 1); Gdx.gl.glClear (GL20.GL_COLOR_BUFFER_BIT); sb.begin (); bf.setColor (Màu.BLUE); bf.getData (). setScale (3f); bf.draw (spriteBatch, msg, 100, 100); sb.end (); }
Ghi đè
public void dispose () { super.dispose (); }}

Lập trình game android với libgdx – Hệ toạ độ trong libGDX

Mặc định góc toạ độ là góc dưới bên trái. X sẽ tăng theo chiều từ trái qua phải, Y sẽ tăng theo chiều từ dưới lên.

*

Xử lý thay đổi góc toạ độ trong libGDX

*

1/ Khai báo đối tượng OrthographicCamera

riêng tư OrthographicCamera Máy ảnh;2/ Tạo đối tượng OrthographicCamera và thiết lập chiều rộng, chiều cao của thiết bị tại phương thức tạo nên()

// Chiều rộng thiết bịint w = Gdx.graphics.getWidth();// Chiều cao thiết bịint h = Gdx.graphics.getHeight();// Tạo đối tượngcamera = new OrthographicCamera (w, h);camera.setToOrtho (true);3/ Chỉ định đối tượng OrthographicCamera tại phương thức kết xuất ()

batch.setProjectionMatrix(camera.combined);

Lập trình game android với libgdx – Vẽ Shape trong libGDX

1/ Khai báo đối tượng ShapeRenderer

riêng ShapeRenderer sr;2/ Tạo đối tượng ShapeRenderer tại phương thức tạo nên()

sr = mới ShapeRenderer();3/ Vẽ shape tại phương thức kết xuất ()

3.1/ Thiết lập shape type

sr.begin(ShapeRenderer.ShapeType.TypeName);3.2/ Thiết lập màu

sr.setColor (Đỏ / 255, Xanh lục / 255, Xanh lam / 255, 1);3.3/ Vẽ

sr.

Xem thêm: Năm 2013 Tuổi Con Gì, Tuổi Gì Và Hợp Màu Gì? Hợp Màu Gì, Khắc Với Tuổi Nào

MeThodName();Tham khảo các phương thức vẽ shape trong libGDX

Ví dụ về xử lý vẽ shape trong libGDX

/ ** * Tạo bởi neftekumsk.com * /public class ShapeExample mở rộng ApplicationAdapter { ShapeRenderer sr;
Ghi đè
public void render () { sr.begin (ShapeRenderer.ShapeType.Line); //Màu sắc sr.setColor (1, 1, 1, 1); // Vẽ trực tiếp sr.rect (10, 10, 200, 200); // Vẽ vòng tròn sr.circle (300, 300, 20); //Vẽ đường thẳng sr.setAutoShapeType (true); sr.set (ShapeRenderer.ShapeType.Line); sr.line (100, 310, 300, 310); sr.end (); }
Ghi đè
public void dispose () { sr.dispose (); }}

Lập trình game android với libgdx – Bài tập thực hành

Bài thực hành số 1: Vị trí ban đầu của hình tại góc dưới bên trái. Hình sẽ chuyển động từ dưới lên trên và khi chạm biên trên (top) thì sẽ xuất hiện tại vị trí ban đầu. Ngoài ra trong game còn có dòng chữ “Welcome to libGDX”

*

Để biết được chiều rộng và chiều cao thiết bị trong libGDX, chúng ta sử dụng 2 lệnh sau

// Chiều rộng thiết bịGdx.graphics.getWidth ();// Chiều cao thiết bịGdx.graphics.getHeight ();Bài thực hành số 2: Vẽ hình chữ nhật tại góc tọa độDi chuyển hình chữ nhật lên trên; Nếu đụng biên trên, di chuyển hình chữ nhật sang phải; Nếu đụng biên phải, di chuyển hình chữ nhật xuống dưới; Nếu đụng biên dưới, di chuyển hình chữ nhật sang trái; Nếu đụng biên trái di chuyển hình chữ nhật lên trên, đồng thời hiển thị số vòng.Kích thước hình chữ nhật là rộng 150, cao 30 và tô màu Green. Hiển thị số vòng chính giữa màn hình thiết bị.

*

Chuyên mục: Công Nghệ 4.0

Author: admin.ta

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *