Cập nhật trò chơi trong Libgdx


7

Trong libgdx, vòng lặp trò chơi là phương thức render (). Nhưng tại sao lại như vậy, và có cách nào để tôi có thể tạo một phương thức update () được gọi là 60 lần một giây không? Như trong phương thức update (), tôi sẽ thêm logic trò chơi và để kết xuất vào phương thức kết xuất. Về cơ bản, các phương thức riêng biệt và phương thức update () được gọi là 60 lần mỗi giây bằng cách sử dụng Libgdx với java.


1
Tôi nghĩ bạn nên chờ thêm một thời gian nữa để chấp nhận câu trả lời. Câu hỏi này chỉ được xem 9 lần (tại thời điểm viết bài này). Thông thường tốt nhất là đợi một chút để xem có nhiều câu trả lời hơn không.
Lysol

Câu trả lời:


6

Không có vòng lặp trò chơi cụ thể trong libGDX vì nó được điều khiển theo sự kiện. Tuy nhiên, bạn vẫn có thể xem phương thức render là vòng lặp chính.

Bạn đã hiểu đúng - thông thường, đây là nơi bạn cập nhật logic trò chơi trước khi thực hiện kết xuất.

Những gì bạn có thể làm là tạo ra một lớp chịu trách nhiệm về logic và một lớp chịu trách nhiệm kết xuất. Sau đó, trong phương thức kết xuất của bạn, bạn viết

@Override
public void render(float deltaTime) {
    if(!paused)
        LogicClass.update(deltaTime);
    Gdx.gl.glClearColor(0, 0, 0, 0);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
    RenderClass.render(deltaTime);
}

Bạn có thể đọc thêm về vòng đời của libGDX trong wiki của nó trên github: https://github.com/libgdx/libgdx/wiki/The-life- Motorcycle .


Hmmm ... Điều này có thể hoạt động: D Tất cả những gì tôi cần làm là tìm ra cách làm cho nó cập nhật với tốc độ 60 lần mỗi giây.
dùng43353

Bạn có thể giới hạn FPS bằng cách thay đổi cấu hình. Đây là một câu hỏi tương tự với bạn và bạn sẽ thấy câu trả lời hữu ích: link
Mihail Ivanov
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.