Tôi dường như không thể tìm ra cách xoay một phông chữ Bitmap một cách chính xác. Tôi nghĩ rằng bạn sửa đổi ma trận chuyển đổi của SpriteBatch. Tuy nhiên, cố gắng xoay mà xoay văn bản xung quanh một số điểm, và tôi không biết làm thế nào để xoay nó liên quan đến bản thân văn bản.Vẽ một BitmapFont được xoay trong libgdx
Trả lời
bạn có thể thử đoạn mã sau:
Matrix4 mx4Font = new Matrix4();
BitmapFont font;
SpriteBatch spriteFont;
font = new BitmapFont(Gdx.files.internal("data/font/agencyFB.fnt"), Gdx.files.internal("data/font/agencyFB.png"), true); //must be set true to be flipped
mx4Font.setToRotation(new Vector3(200, 200, 0), 180);
spriteFont.setTransformMatrix(mx4Font);
spriteFont.begin();
font.setColor(1.0f, 1.0f, 1.0f, 1.0f);
font.draw(spriteFont, "The quick brown fox jumped over the lazy dog", 100, 110);
spriteFont.end();
Bạn có thể tạo ra một hình tượng thành một sprite. Bằng cách đó, bạn có thể thao tác văn bản của mình dưới dạng hình ảnh.
Mã mẫu:
Lưu ý, điều này sẽ trả lại một Sprite của một hình tượng đơn. (Ví dụ: char 'A' được chuyển thành một sprite.)
/** Creates a sprite from a glyph.
*
* @param ch
* @return Sprite
*/
public Sprite getGlyphSprite (char ch) {
Glyph glyph = Globals.g.font.getData().getGlyph(ch);
Sprite s = new Sprite(Globals.g.font.getRegion().getTexture(),
glyph.srcX,glyph.srcY,glyph.width, glyph.height);
s.flip(false, true);
s.setOrigin(glyph.width/2, glyph.height/2);
return s;
}
Nó không tôn trọng chiều rộng và chiều cao của ký tự, ví dụ: nếu bạn lấy char "", nó không hiển thị ở đầu, nếu bạn đặt ch là dấu cách "", nó không tôn trọng chiều rộng không gian . – LeSam
Tôi chỉ muốn nói thêm .. Tôi giả sử bạn có hình ảnh cơ bản font chữ bên trong một số atlas .. vì vậy bạn cần phải thêm gốc TextureRegion sot gliph src vì nó chỉ liên quan đến vùng Kết cấu đã cho nên
BitmapFont font = ...
BitmapFont.Glyph glyph = font.getData().getGlyph(ch);
int srcX = glyph.srcX + font.getRegion().getRegionX();
int srcY = glyph.srcY+ font.getRegion().getRegionY();
Sprite s = new Sprite(font.getRegion().getTexture(), srcX,srcY,glyph.width, glyph.height);
Câu trả lời đầu tiên từ Lunatikul không hoạt động trong trường hợp 2D của tôi. Nó cắt văn bản của tôi thành chỉ một nửa lá thư. Tôi đã thành công với những điều sau:
batch.begin();
batch.setTransformMatrix(new Matrix4().setToRotation(0,0,1,<insert angle here>));
font.draw(batch, "Hallo Welt", 100, 100);
batch.end();
- 1. Làm thế nào để vẽ một BitmapFont trong LibGDX?
- 2. Libgdx làm thế nào để lật một BitmapFont?
- 3. Làm cách nào để vẽ văn bản bằng Libgdx/Java?
- 4. Đặt Xoay máy ảnh trong Libgdx
- 5. Xoay một bản vẽ trong Android
- 6. Vẽ các đường viền bảng trong libgdx 0.9.7
- 7. Vẽ một Văn bản được Xoay sang một Hình ảnh trong C#
- 8. Vẽ Hình chữ nhật Xoay
- 9. LIBGDX: Làm thế nào để vẽ một đa giác được tô đầy bằng shaperenderer?
- 10. Làm thế nào để xoay một diễn viên hình ảnh trong libgdx bằng điểm giữa?
- 11. làm thế nào để lật một pixmap để vẽ một kết cấu trong libgdx?
- 12. làm thế nào để vẽ các đường lưới với libgdx
- 13. Vẽ xoay văn bản với NSString drawInRect
- 14. Có thể xoay bản vẽ trong mô tả xml không?
- 15. libgdx ScrollPane - Không cuộn?
- 16. java Chủ đề trong libGDX
- 17. Libgdx - Làm thế nào để vẽ hình chữ nhật đầy ở đúng nơi trong scene2d?
- 18. AssetManager trong LibGDX
- 19. Xoay ảnh theo chiều kim đồng hồ bằng cách sử dụng LibGDX
- 20. LibGDX: quy mô Hạt
- 21. Sử dụng xoay vòng xoay trong Opengl
- 22. Vẽ bitmap đã xoay với tính năng chống bí danh
- 23. làm thế nào để vẽ hình dạng tùy chỉnh bằng cách sử dụng một kết cấu đơn giản trong libgdx?
- 24. cách xoay quanh một điểm được chỉ định trong fabric.js?
- 25. Làm thế nào để hiển thị văn bản được vector hóa bằng libgdx?
- 26. Làm cách nào để vẽ hình ảnh được xoay trên Canvas JavaFX?
- 27. Xoay xoay CGContext
- 28. LibGDX - Làm thế nào để làm mịn diễn viên có thể vẽ được khi mở rộng giai đoạn Scene2d?
- 29. Xoay một điểm bằng một điểm khác trong 2D
- 30. MKOverlayView được xoay
Bạn nên xây dựng trên những gì các vector có nghĩa là khi thực hiện setToRotation – chairbender
không làm việc cho tôi, những gì tôi thiếu ở đây? –