程式語言 - Golang - SDL 2.0 - Convert Surface



參考資訊:
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 "github.com/veandco/go-sdl2/sdl"
import "github.com/veandco/go-sdl2/img"
 
func main() {
    sdl.Init(sdl.INIT_EVERYTHING);
    defer sdl.Quit()
 
    window, _ := sdl.CreateWindow("main", 0, 0, 320, 240, sdl.WINDOW_SHOWN)
    screen, _ := window.GetSurface()
    defer window.Destroy()
 
    png, _ := img.Load("main.png")
    defer png.Free()

    s, _ := png.Convert(screen.Format, 0)
    s.Blit(nil, screen, nil)
    defer s.Free();

    window.UpdateSurface() 
    sdl.Delay(3000)
}

執行

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