使用Golang和SDL开发游戏时遇到的问题
使用Golang和SDL开发游戏时遇到的问题 我对Go语言和编程总体来说还相当陌生。 我参加了一个游戏开发课程,那位YouTuber提到了一些包,并在屏幕上写下了这个(go get github.com/veandco/go-sdl2/sdl)。有人知道如何安装并运行它吗?
2 回复
和那位YouTuber的做法完全一样,可能吧…
不过那看起来像是安装依赖项的旧方法。如今你应该使用Go模块来管理依赖项及其版本。
另外,对于那个库,你可能还需要安装一个系统库SDL2,因为我认为那位YouTuber安装的库只是一个将调用委托给那个C库的包装器。
更多关于使用Golang和SDL开发游戏时遇到的问题的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
首先,确保你已经安装了Go环境。然后,在终端或命令行中运行以下命令来安装SDL2包:
go get github.com/veandco/go-sdl2/sdl
接下来,你需要安装SDL2的C库。在Ubuntu或Debian系统上,可以运行:
sudo apt-get install libsdl2-dev
在macOS上,使用Homebrew:
brew install sdl2
在Windows上,你可以从SDL官网下载开发库,并设置环境变量。
安装完成后,创建一个简单的Go程序来测试。例如,创建一个main.go文件:
package main
import (
"github.com/veandco/go-sdl2/sdl"
)
func main() {
if err := sdl.Init(sdl.INIT_EVERYTHING); err != nil {
panic(err)
}
defer sdl.Quit()
window, err := sdl.CreateWindow("test", sdl.WINDOWPOS_UNDEFINED, sdl.WINDOWPOS_UNDEFINED,
800, 600, sdl.WINDOW_SHOWN)
if err != nil {
panic(err)
}
defer window.Destroy()
renderer, err := sdl.CreateRenderer(window, -1, sdl.RENDERER_ACCELERATED)
if err != nil {
panic(err)
}
defer renderer.Destroy()
renderer.SetDrawColor(0, 0, 0, 255)
renderer.Clear()
renderer.Present()
running := true
for running {
for event := sdl.PollEvent(); event != nil; event = sdl.PollEvent() {
switch event.(type) {
case *sdl.QuitEvent:
running = false
}
}
sdl.Delay(16)
}
}
运行程序:
go run main.go
如果一切正常,你会看到一个黑色窗口。这确认了SDL2包已正确安装并运行。

