我想做一些简单的事情,比如使用 C 和 SDL 在屏幕上画一个正方形。我复制的例子不起作用。
//Get window surface
SDL_Surface *screenSurface = SDL_GetWindowSurface(window);
//Fill the surface white
SDL_FillRect(screenSurface, NULL, SDL_MapRGB(screenSurface->format, 0xFF, 0xFF, 0xFF));
//create a square
SDL_FillRect(screenSurface, SDL_Rect(0,0,100,100), SDL_MapRGB(screenSurface->format, 0x00, 0x00, 0x00));
它正确地将屏幕填充为白色,但在调用时失败SDL_Rect
:
error: expected expression before ‘SDL_Rect’
如何使用 SDL 2.0 正确绘制正方形?
SDL_FillRect
不需SDL_Rect
作为一个论点;它需要一个指向SDL_Rect
.
//Create a square
SDL_Rect rect(0,0,100,100);
SDL_FillRect(screenSurface, &rect, SDL_MapRGB(...))
这就是为什么当你填充白色时你可以通过NULL
到函数。NULL
不属于类型SDL_Rect
,但它是一个指针,所以编译器可以接受它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)