程式語言 - Golang - SDL 2.0 - Open Font from Memory



參考資訊:
https://github.com/veandco/go-sdl2
https://github.com/veandco/go-sdl2-examples
https://pkg.go.dev/github.com/veandco/go-sdl2#section-readme

初始化

$ go version
    go version go1.24.4 linux/amd64

$ go mod init main

main.go

package main
   
import (
    "io/ioutil"
    "github.com/veandco/go-sdl2/sdl"
    "github.com/veandco/go-sdl2/ttf"
)
 
func main() {
    sdl.Init(sdl.INIT_EVERYTHING);
    defer sdl.Quit()
   
    window, _ := sdl.CreateWindow("main", 0, 0, 320, 240, sdl.WINDOW_SHOWN);
    defer window.Destroy()
 
    screen, _ := window.GetSurface()
 
    ttf.Init()

    data, _ := ioutil.ReadFile("main.ttf")
    rwops, _ := sdl.RWFromMem(data)
    font, _ := ttf.OpenFontRW(rwops, 1, 30)
    text, _ := font.RenderUTF8Blended("司徒的教學網站", sdl.Color{R: 0, G: 255, B: 0, A: 255})
    text.Blit(nil, screen, nil)
    window.UpdateSurface()
    defer font.Close()
    defer text.Free()
   
    sdl.Delay(3000)
} 

執行

$ go mod tidy
$ go run -v main.go