ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

画像の描画

SDL_BlitSurface()でスクリーンに転送したのち、SDL_UpdateRect()で画面の更新を行う。

int SDL_BlitSurface(SDL_Surface *src, SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect);

srcが転送元のサーフェース。srcrectが転送元の位置、サイズ。NULLを指定するとサーフェースの全体。dstが転送先のサーフェース。dstrectが転送先の位置。NULLを指定すると左上の座標(0,0)となる。

void SDL_UpdateRect(SDL_Surface *screen, Sint32 x, Sint32 y, Sint32 w, Sint32 h);

x,y,w,hがすべて0の場合は画面全体の更新となる。

SDL_Surface* screen;
SDL_Surface* parts;
SDL_Rect dst;

dst.x = 10;
dst.y = 20;
dst.w = parts->w;
dst.h = parts->h;

SDL_BlitSurface( parts, NULL, screen, &dst );
SDL_UpdateRect( screen, 0, 0, 0, 0 );