lab.cpp/SDL#5/xMario/xMarioBloc.cpp

36 lines
866 B
C++

/* [CONSTRUCTOR] Construction d'un xMarioBloc
=========================================================*/
xMarioBloc::xMarioBloc(xManager *m, SDL_Rect rect){
_manager = m;
// Note: le rect correspond a un nombre de bloc
// On convertit le tout en blocs reels
int xMin = rect.x;
int xMax = rect.w + rect.x - 1;
int yMin = rect.y;
int yMax = rect.h + rect.y - 1;
/* (1) On charge la texture */
_spritesheet = IMG_LoadTexture(_manager->renderer(), "src/blocs.png");
int index = 0;
/* (2) On cree les plans (layers) */
for( int y = yMin ; y <= yMax ; y++ ){
for( int x = xMin ; x <= xMax ; x++ ){
// On cree une copie du spritesheet
this->add( new xSprite(_manager, _spritesheet) );
this->get(index)->dimensions(
(SDL_Rect){BLOC_SIZE*x, BLOC_SIZE*y, BLOC_SIZE, BLOC_SIZE},
(SDL_Rect){0, 153, 16, 16}
);
index++;
}
}
}