1

l SDL_BlitSurface(tileSheets.at(sheet)、&clip [tile]、screen、&tileBox);

正常に動作し、次のようにクリップを初期化します。

clip[ 0 ].x = x;
clip[ 0 ].y = y;
clip[ 0 ].w = 48;
clip[ 0 ].h = 48;
x += 48;
clip[ 1 ].x = x;
clip[ 1 ].y = y;
clip[ 1 ].w = 48;
clip[ 1 ].h = 48;

ただし、これはまったく機能しません

SDL_BlitSurface(tileSheets.at(sheet), &clip.at(tile), screen, &tileBox);

私はこれらを次のように初期化します:

for(int i = 0; i < number; i++)
    {
        SDL_Rect clipBox = {x,y,48,48};
        clip.push_back(clipBox);
    }

これは私が得るエラーです:http://imageshack.us/photo/my-images/836/83468944.png/

手がかりはありますか?

4

2 に答える 2

0

次のいずれかを試してください。

 /* 1) */  SDL_Rect clipBox(x,y,48,48);
 /* 2) */  clip.push_back(SDL_Rect(x,y,48,48));
于 2012-07-02T18:00:58.613 に答える