所以,我终于明白了如何使用SDL2 ttf将文本设置为屏幕,但我也发现,文本覆盖了整个屏幕,而我需要文本更小,但我在这里没有发现任何东西https://pkg.go.dev/github.com/veandco/go-sdl2/ttf有没有办法让文字变小?
下面是我的代码:
func WriteChoices() {
font, _ := ttf.OpenFont("arial.ttf", 1920)
font.SetOutline(21)
surface, _ := font.RenderUTF8Solid("Player Computer", sdl.Color{0, 0, 50, 255})
texture, _ := renderer.CreateTextureFromSurface(surface)
renderer.Copy(texture, nil, nil)
font.Close()
surface.Free()
texture.Destroy()
}
你可以通过像这样加载字体来减小字体大小。
func WriteChoices() {
font, _ := ttf.OpenFont("arial.ttf", 20)
font.SetOutline(21)
surface, _ := font.RenderUTF8Solid("Player Computer", sdl.Color{0, 0, 50, 255})
texture, _ := renderer.CreateTextureFromSurface(surface)
renderer.Copy(texture, nil, sdl.{W:surface.W,H:surface.H})
font.Close()
surface.Free()
texture.Destroy()
}
这可能工作,但我现在不能测试,抱歉,如果我只是浪费了你的时间