我一直无法将 Gosu 库中的文本居中到屏幕的绝对中间。
require 'gosu'
class GameWindow < Gosu::Window
def initialize (width=800, height=600, fullscreen=false)
super
self.caption = 'Hello'
@message = Gosu::Image.from_text(
self, 'HELLO WORLD', Gosu.default_font_name, 45)
end
def draw
@message.draw(377.5,277.5,0)
end
end
window = GameWindow.new
window.show
我的第一种方法是取height
屏幕的 ,减去文本的高度45
,然后除以 2。现在垂直对齐时这似乎有效。
然而,水平是一个不同的故事......它似乎占据了文本的左上角并将其居中,这是我期望的,而不是文本的中间。
有人有这个公式吗?我尝试了一大堆东西,但都接近了。