2012-03-10 37 views
6

Tôi khá noob với libGDX dành cho Android (trình bao bọc OpenGL đẹp mắt cũng có thể hoạt động trên PC) và tôi đã đọc một số ví dụ hay về cách hiển thị hình ảnh và hình dạng. Tuy nhiên, khi tôi muốn xem cách hiển thị văn bản, tôi nhận thấy rằng điều duy nhất tôi có thể thấy rằng thư viện này hỗ trợ là BitmapFont, sử dụng bitmap cho mỗi ký tự. Đó là ok cho một số nghị quyết và kích thước phông chữ, nhưng nó sẽ trở nên mờ/pixelated cho các trường hợp khác.Làm thế nào để hiển thị văn bản được vector hóa bằng libgdx?

Có cách nào khác để hiển thị văn bản bằng thư viện thú vị này không? Một số cách để hiển thị phông chữ vectơ và cũng sử dụng các phần mở rộng tệp phông chữ phổ biến hơn ".fnt"?

Trả lời

4

Có một mục nhập gần đây trên blog xấulog về generating bitmap fonts on the fly from TrueType font files sẽ giải quyết vấn đề của bạn với các tệp phông chữ được đóng gói xấu xí khi được thu nhỏ.

Khi tôi mới sử dụng Android và libGDX, tôi đã dành chút thời gian tìm kiếm giải pháp phông chữ vector để vẽ văn bản có thể mở rộng qua libGDX. Tôi không bao giờ tìm thấy bất cứ điều gì (thậm chí không chung chung Java hoặc chung Android). Hầu hết các giải pháp phông chữ mà tôi tìm thấy được xây dựng trên bitmap hoặc là các hệ thống dựng hình rất phức tạp (khó có thể thích ứng với OpenGL). Điều này có vẻ hơi lạ với tôi, và tôi đã không tìm thấy một lời giải thích mạch lạc.

+0

điều này có vẻ rất hứa hẹn, và mọi người ở đó đã viết rằng nó làm việc cho họ. sao nó chưa được xây dựng? hiện nó có một số lỗi cần phải được cố định ...? –

+0

Ngoài ra, không có giải pháp nào khác bao gồm vẽ các đường và điểm ảnh mức thấp cho phông chữ, thay vì phải tạo bitmap? –

+0

Về lý do tại sao nó không được xây dựng trong, tôi nghi ngờ nó không phải là một phần của libgdx vì mới của nó và đã không nhận được rất nhiều thử nghiệm. Tôi chắc rằng họ sẽ quan tâm đến trợ giúp hoặc báo cáo về tính hữu ích của nó. Đối với các giải pháp khác sử dụng nguyên thủy OpenGL, tôi đã xem xét và không tìm thấy bất cứ điều gì (tất nhiên tôi không thể chứng minh một tiêu cực, mặc dù). Tôi nghi ngờ hầu hết mọi người như tối ưu hóa tạo ra một bitmap, mặc dù. –

0

Tôi không nghĩ rằng có một cách thích hợp để làm như vậy, bởi vì libgdx cũng hoạt động trên OpenGL. OpenGL sử dụng kết cấu để hiển thị hình ảnh để thiết bị của bạn có thể vẽ phần cứng hình ảnh được tăng tốc. Tôi không sử dụng libgdx nhưng có lẽ bạn có thể viết chức năng của riêng bạn để vẽ đầu tiên phông chữ dựa trên vector của bạn trên một kết cấu và sau đó vẽ kết cấu của bạn trên màn hình. -> Nhưng sau đó nó không vectorized nữa.

+0

tốt, nếu tôi gọi đến một hàm biết kích thước nào để hiển thị phông chữ, nó sẽ không giống chính xác như hiển thị nó theo cách "đúng" không? chắc chắn có một số thư viện ở đó làm điều đó, phải không? –

Các vấn đề liên quan