我想做一些簡單的事情,比如使用C和SDL在屏幕上畫一個正方形。我複製的示例不起作用。如何用SDL 2.0繪製正方形?
//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平方?
啊,好的。 '&'和'*'有什麼區別? – Andrew
另外,我得到'rect(0,0,100,100)'的錯誤:'錯誤:期望的聲明說明符或'...'在數字常量之前。這是在C中創建SDL_Rect的方式嗎? – Andrew
@Andrew聲明時,'*'表示變量是*指針*,'&'表示它是*引用*。在一個已經聲明的變量上,'*'表示變量(指針)指向*的值,'&'指示變量*的地址。這些都是非常基本的C/C++的東西;在深入SDL之前,我建議您更好地理解這些概念。 – talles