Tôi hiện đang làm việc trên hệ thống menu cho Java trò chơi của tôi, và tôi tự hỏi làm thế nào tôi có thể tập trung các văn bản từ Graphics.drawString()
, do đó nếu tôi muốn vẽ một văn bản có điểm trung tâm là tại X: 50
và Y: 50
, và văn bản có chiều rộng là 30
pixel và cao hơn 10
pixel, văn bản sẽ bắt đầu tại X: 35
và Y: 45
.Làm thế nào tôi có thể tập trung vào Graphics.drawString() trong Java?
Tôi có thể xác định chiều rộng của văn bản trước khi vẽ không?
Sau đó, nó sẽ được dễ dàng toán học.
EDIT: Tôi cũng tự hỏi liệu tôi có thể nhận được chiều cao của văn bản hay không, để tôi có thể căn giữa theo chiều dọc.
Mọi trợ giúp đều được đánh giá cao!
Trông giống như một bản sao về điều này: http://stackoverflow.com/questions/258486/calculate-the-display-width-of-a- string-in-java – mwarren
Đây là thứ mà Swing khiến bạn làm việc. Hãy thử câu trả lời này: http://stackoverflow.com/questions/23729944/java-how-to-visually-center-a-specific-string-not-just-a-font-in-a-rectangle Nếu bạn vừa mới bắt đầu viết trò chơi của bạn, JavaFX là bộ công cụ đồ họa hiện đại nhất được bao gồm trong nền tảng Java và có thể là lựa chọn tốt hơn so với Swing. – richj
@mwarren Nó là một phần trùng lặp, nhưng có một điều tuy nhiên. Tôi tự hỏi làm thế nào tôi có thể nhận được chiều cao của văn bản, bởi vì 'FontMetrics.getHeight()/2' không cho tôi một nửa chiều cao" thực "của văn bản ... @richj Tôi đã làm khá nhiều rồi , vì vậy tôi nghĩ rằng tôi sẽ không chuyển sang JavaFX. Đó sẽ là một trò chơi khác. –