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 で割ることでした。
ただし、水平方向は別の話です...テキストの中央ではなく、テキストの左上隅を取り、それを中央に配置しているようです。
誰でもこれの公式を手に入れましたか?私はたくさんのことを試しましたが、近づくだけでした。