Tôi đã cố gắng giải quyết vấn đề này trong hai ngày và tôi đã từ bỏ việc tìm một giải pháp hiện có.Nhiều máy ảnh trong libgdx (có thể tương tự trong các khung công tác khác)
Tôi đã bắt đầu học libgdx và hoàn thành một vài hướng dẫn. Và bây giờ tôi đã cố gắng sử dụng tất cả những gì tôi đã học và tạo ra một trò chơi cuộn bên đơn giản. Bây giờ, tôi biết rằng có những ví dụ libgdx về điều này, nhưng tôi đã không tìm thấy một trong đó kết hợp Box2d với scene2d và diễn viên cũng như các bản đồ lát gạch.
Vấn đề chính của tôi là với máy ảnh.
Bạn cần một máy ảnh cho Giai đoạn (theo như tôi biết được sử dụng cho ma trận chiếu của SpriteBatch được chuyển đến phương thức draw() tại diễn viên, nếu điều này sai, hãy sửa tôi) và bạn cần một máy ảnh cho TileMapRender để gọi phương thức render(). Ngoài ra, trong một số hướng dẫn có một OrthographicCamera trong GameScreen, được sử dụng khi cần thiết.
Tôi đã cố truyền đối tượng OrthographicCamera cho các phương pháp, tôi đã cố gắng sử dụng máy ảnh từ Giai đoạn và máy ảnh từ TileMapRenderer ở mọi nơi. Ví dụ:
OrthographicCamera ocam = new OrthographicCamera(FRUSTUM_WIDTH, FRUSTUM_HEIGHT);
stage.setCamera(ocam); // In the other cases i replace ocam with stage.getCamera() or the one i use for the tileMap Render
tileMapRenderer.render(ocam);
stage.getSpriteBatch().setProjectionMatrix(ocam.combined); // I am not sure if this is needed
Tôi cũng đã cố gắng sử dụng các máy ảnh khác nhau ở mọi nơi.
Sau khi thử tất cả những điều tôi đã không lưu ý những gì xảy ra chính xác khi nào nhưng tôi sẽ liệt kê những gì sẽ xảy ra:
- Không có gì trên màn hình (Có lẽ máy ảnh là tránh xa những thứ mà được rút ra) là
- Tôi có thể thấy bản đồ lát và đường viền từ trình gỡ lỗi (tôi cũng sử dụng debugRender nhưng tôi không nghĩ rằng nó can thiệp vào máy ảnh), nhưng không thể nhìn thấy hình ảnh của diễn viên (có thể là tắt màn hình)
- Tôi có thể thấy mọi thứ mà tôi nên nhưng khi tôi cố gắng di chuyển Diễn viên và Máy ảnh, được cho là sẽ theo anh ta, nghi thức đi nhanh hơn cơ thể (hình vuông gỡ lỗi màu xanh lá cây).
Vì vậy, câu hỏi chính của tôi là:
- Tôi không hiểu điều gì xảy ra khi bạn có nhiều camera. "Thông qua" mà bạn thực sự thấy trên montior?
- Tôi có nên sử dụng nhiều máy ảnh và cách thực hiện không?
Ngoài ra, tôi nghĩ rằng tôi nên đề cập đến rằng tôi đang sử dụng OpenGL ES 2.0.
Tôi xin lỗi vì câu hỏi dài, nhưng tôi nghĩ rằng tôi nên mô tả chi tiết, vì nó hơi phức tạp đối với tôi.
bạn đã gọi stage.act() & stage.draw() để hiển thị giai đoạn –