Как объявить массив SDL_Surface
Переписываю код с паскалеподобного языка MidletPascal, на c++ и программно рисую графику через SDL2.
Как объявлять массив с типом SDL_Surface?
...
tex:array [0..255] of image;//Объявление массива текстур типа image
...
procedure loadtexture;
var
ix,iy,iz:integer;
im:image;
begin
im:=loadimage('/terrain.png');
iz:=0;
for iy:=0 to 15 do
for ix:=0 to 15 do
begin
tex[iz]:=rotate_image_from_image(im,ix*16,iy*16,16,16,0);
iz:=iz+1;
end;
end;
Функция rotate_image_from_image принимает:
1 аргументом - картинку из которой нужно копировать участок
2 и 3 аргументом - координаты (x,y) от которых нужно начинать
И 4 и 5 аргумент - ширину и высоту копируемой текстуры шириной 16x16
5 не используется;
Возвращает тип image
//Просто hello world:
#include <SDL2/SDL.h>
int main(int argc, char *argv[]) {
SDL_DisplayMode displayMode;
SDL_Window *window;
SDL_Surface *screenSurface;
SDL_Init(SDL_INIT_EVERYTHING);
SDL_GetDesktopDisplayMode(0, &displayMode);
window = SDL_CreateWindow("Hello World!", SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED, displayMode.w / 2,
displayMode.h / 2, SDL_WINDOW_SHOWN);
screenSurface = SDL_GetWindowSurface(window);
SDL_FillRect(screenSurface, NULL,
SDL_MapRGB(screenSurface->format, 255, 0, 0));
SDL_UpdateWindowSurface(window);
SDL_Delay(10000);
};