Libgdx là gì

Lập trình game game android cùng với libgdx. libGDX là 1 framework được dùng để phát triển game mang đến các nền tảng: Android, iOS, Desktop, Web bằng ngôn từ thiết kế Java. libGDX được trở nên tân tiến vị Mario Zechner. Thật thú vị và có lợi lúc áp dụng engine này để xây dựng game đến di động.

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

*

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

Bước 1. Tải libGDX. Quý Khách hiểu truy cập libgdx.badlogicgames.com -> chọn Download Steup App nhằm download libGDX về thiết bị của bản thân mình.

*

Cách 2. Chạy tập tin gdx-setup.jar (Lưu ý trang bị của người tiêu dùng đề nghị cài đặt JDK – Java Development Kit và Android SDK. Quý Khách rất có thể cài cùng setup Android Studio bao hàm Android SDK). Quan cạnh bên hình bên dưới để hiểu Android SDK path.

*

Các tùy chỉnh bắt buộc thiết

Name: Tên project Package: Tên gói (tlỗi mục con vào project) Game class: Tên lớp Destination: Thỏng mục cất libGDX project sau khoản thời gian chế tác Android SDK: Thư viện lập trình sẵn Android Sub Projects: Lựa chọn gốc rễ mà game hỗ trợ

Sau lúc tùy chỉnh cấu hình phần đa hưởng thụ bên trên -> chọn Generate -> chọn Yes (libGDX tự động hóa sở hữu đầy đủ thư viện quan trọng vì chưng vậy hưởng thụ máy tính cần liên kết internet).

*

Cách 3. Import libGDX project vào Android Studio (Máy tính đề nghị setup Android Studio) theo trình thự sau:

*

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

Hình dưới mô tả kết cấu, chân thành và ý nghĩa và sự links thân những project phía bên trong.

*

Theo hình trên, chúng ta gồm 4 proeject. Core project là khu vực xây dựng viên viết code. Android project khớp ứng mang đến gốc rễ Android. Tài ngulặng game đã cất trong project này. Desktop project tương ứng đến gốc rễ PC. Web project tương xứng đến căn cơ Web. Và nếu trong những khi sinh sản libGDX sinh hoạt bước trên, họ lựa chọn Ios thì sẽ sở hữu được thêm iOS project tương xứng mang lại căn nguyên iOS.

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

Mỗi một trạng thái vào game khớp ứng với cùng một phương thức vào 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 Mytrò chơi implements 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(): Pmùi hương thức này được call một lượt khi application được tạo cùng dùng làm khởi chế tác trong game.

Pmùi hương thức resize(): Thực hiện biến đổi kích thước game theo thiết bị và được Gọi sau cách 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 cùng với lắp thêm di động cầm tay, phương thức này được khi người tiêu dùng cần sử dụng dìm phím Home hoặc khi có cuộc Điện thoại tư vấn đến. Đối với PC cách làm này được gọi trước phương thơm thức dispose() Lúc bạn chơi thoát game.

Phương thơm thức resume(): Pmùi hương thức này chỉ được call bên trên di động, khi game gửi từ bỏ tinh thần pause.

Phương thức dispose(): Được gọi lúc chấm dứt game.

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

*

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

Khai báo các đối tượng người sử dụng SpriteBatch cùng Texture

private SpriteBatch sp;private Texture texture;Tạo đối tượng người tiêu dùng trên thủ tục create()

sp = new SpriteBatch();texture = new Texture(Gdx.files.internal("Your picture file name"));Vẽ hình trên phương thức render()

sp.draw(texture, x, y);lấy ví dụ về xử lý vẽ hình trong libGDX

/** * Created by neftekumsk.com */public class ImageExample extends ApplicationAdapter SpriteBatch sb; Texture texture; float y ;
Override
public void create() sb = new SpriteBatch(); texture = new Texture(Gdx.files.internal("jet.png")); y = 0;
Override
public void render() Gdx.gl.glClearColor(1, 1, 1, 1); Gdx.gl.glClear(GLđôi mươi.GL_COLOR_BUFFER_BIT); sp.begin(); sp.draw(texture, 10, 100); sp.end();
Override
public void dispose() texture.dispose();

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

Knhị báo những đối tượng người tiêu dùng SpriteBatch và BitmapFont

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

sp = new SpriteBatch();bf = new BitmapFont();Vẽ chuỗi tại cách làm render()

sp.begin();bf.draw(sp, "Your text", x, y);sp.end();Một số thiết lập cấu hình hay gặp khi vẽ chuỗi trong libGDX

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

bf.setColor(màu sắc.ColorName);2/ Thiết lập cỡ chữ (size)

bf.getData().setScale(nf,mf);// Với n với m là mọi 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(Red/255, Green/255, Blue/255, 1);Gdx.gl.glClear(GLđôi mươi.GL_COLOR_BUFFER_BIT);ví dụ như tùy chỉnh màu sắc nền tinh khiết libGDX. Lưu ý white color 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ụ như về cách xử trí vẽ chuỗi trong libGDX

/** * Created by neftekumsk.com */public class StringExample extends ApplicationAdapter SpriteBatch sb; BitmapFont bf; String msg = "trò chơi game android voi libGDX";
Override
public void render() Gdx.gl.glClearColor(1, 1, 1, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); sb.begin(); bf.setColor(Màu sắc.BLUE); bf.getData().setScale(3f); bf.draw(spriteBatch, msg, 100, 100); sb.end();
Override
public void dispose() super.dispose();

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

Mặc định góc toạ độ là góc dưới phía bên trái. X vẫn tăng theo hướng tự trái qua yêu cầu, Y sẽ tăng theo hướng từ bỏ bên dưới lên.

*

Xử lý thay đổi góc toạ độ vào libGDX

*

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

private OrthographicCamera camera;2/ Tạo đối tượng OrthographicCamera cùng tùy chỉnh chiều rộng, độ cao của thứ tại cách làm create()

// Chiều rộng lớn 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 người sử dụng OrthographicCamera trên cách làm render()

batch.setProjectionMatrix(camera.combined);

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

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

private ShapeRenderer sr;2/ Tạo đối tượng người tiêu dùng ShapeRenderer trên phương thức create()

sr = new ShapeRenderer();3/ Vẽ shape trên cách thức render()

3.1/ Thiết lập shape type

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

sr.setColor(Red/255, Green/255, Blue/255, 1);3.3/ Vẽ

sr.MeThodName();Tsay đắm khảo những cách tiến hành vẽ shape vào libGDX

lấy ví dụ về xử trí vẽ shape trong libGDX

/** * Created by neftekumsk.com */public class ShapeExample extends ApplicationAdapter ShapeRenderer sr;
Override
public void render() sr.begin(ShapeRenderer.ShapeType.Line); //Color sr.setColor(1, 1, 1, 1); //Draw rectange sr.rect(10, 10, 200, 200); //Draw Circle sr.circle(300, 300, 20); //Draw line sr.setAutoShapeType(true); sr.set(ShapeRenderer.ShapeType.Line); sr.line(100, 310, 300, 310); sr.end();
Override
public void dispose() sr.dispose();

Lập trình game app android cùng với libgdx – các bài luyện tập thực hành

Bài thực hành thực tế số 1: Vị trí ban đầu của hình trên góc bên dưới phía trái. Hình đang hoạt động trường đoản cú dưới lên phía trên và khi đụng biên trên (top) thì vẫn mở ra trên địa điểm ban đầu. Bên cạnh đó vào game còn tồn tại mẫu chữ “Welcome to lớn libGDX”

*

Để biết được chiều rộng lớn và độ cao lắp thêm vào libGDX, họ áp 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 trên góc tọa độDi đưa hình chữ nhật lên trên; Nếu đụng biên bên trên, di chuyển hình chữ nhật sang trọng phải; Nếu chạm biên nên, dịch chuyển hình chữ nhật xuống dưới; Nếu đụng biên bên dưới, dịch chuyển hình chữ nhật quý phái trái; Nếu chạm biên trái dịch chuyển hình chữ nhật lên trên mặt, bên cạnh đó hiển thị số vòng.Kích thước hình chữ nhật là rộng lớn 150, cao 30 cùng tô màu Green. Hiển thị số vòng tại chính giữa screen sản phẩm công nghệ.

*