3 回答
TA贡献1789条经验 获得超8个赞
SDL_LoadBMP 是一个宏,而不是一个函数。它的定义是
#define SDL_LoadBMP(file) SDL_LoadBMP_RW(SDL_RWFromFile(file, "rb"), 1)
但是,Cgo 将无法使用宏,因此您有两个选择:要么使用宏的扩展版本,要么编写一个使用宏的 C 函数并从 Go 调用该函数,这将是首选。
TA贡献1827条经验 获得超8个赞
在回退到 c 之前,您是否尝试在 go 中使用本机 SDL 库?此外,如果这不起作用,您可以只用 c 编写或使用其他类型的库,例如 OpenGL 或 Ogre3D 进行图形工作,这两者在不久前都支持 go。
编辑:你确定 Go 是适合你正在做的游戏/图形工作类型的语言吗?诸如 java 或 c++ 之类的东西在行业中更为常见,并且具有更好的支持。Go 并不经常用于游戏,这是因为缺乏许多不同 API 的官方库。
TA贡献1871条经验 获得超13个赞
恐怕我将不得不同意普拉克什的观点,尽管他的措辞有点粗鲁。对于大型图形应用程序来说,Go 还不够成熟,我假设您使用 SDL 时,您要么已经是一个独立的游戏开发人员,希望以 Go 的形式尝试新事物,要么是现有的 Go 程序员选择了一个糟糕的语言来开发游戏(尝试 C++ 或 Haskell,学习多种语言没有坏处!;-))
当然,您可能不熟悉编程和游戏开发,在这种情况下,我建议您尝试使用 Game Maker 或学习 C++ 教程。
至于你的第二个问题,你可以使用 Go 的 'nil',因为据我所知,这仍然代表 '\0' 的 ASCII 字符。
- 3 回答
- 0 关注
- 305 浏览
添加回答
举报
