countag
Nombre de messages : 57 Date d'inscription : 10/02/2006
![offset Empty](https://2img.net/i/empty.gif) | Sujet: offset Mer 15 Fév à 4:03 | |
| Bonjour tous le monde je voudrais avoir une explication si possible sur les offsets car je vois pas comment faire pour mon code. j ai ma fonction qui va afficher la map selon la longueur et la largeur qu on a mis : - Code:
-
void Map_Affiche(struct_map *map) { SDL_Rect src,dest; src.w=src.h=dest.w=dest.h=32; src.x=src.y=dest.x=dest.y=0; int y,x; y=x=0; while(y<map->longueur){ dest.x = 160; while(x<map->largeur){ SDL_BlitSurface(map->s_chipset,&src,SDL_GetVideoSurface(),&dest); dest.x += TILE_TAILLE; x++; } dest.y += TILE_TAILLE; x=0; y++; } } mais comment gerer les offsets sachant que a droite il y a 160pixel reserve au menu+separation. | |
|
countag
Nombre de messages : 57 Date d'inscription : 10/02/2006
![offset Empty](https://2img.net/i/empty.gif) | Sujet: Re: offset Jeu 16 Fév à 3:42 | |
| personne peut m aider ? :/ j ai demander sur d autre forum et j ai pas de reponse non plus est ce si dur que cela ? :/ | |
|
FVIRTMAN Admin
![FVIRTMAN](https://2img.net/u/1612/42/45/74/avatars/1-95.jpg)
Nombre de messages : 78 Date d'inscription : 11/11/2005
![offset Empty](https://2img.net/i/empty.gif) | Sujet: Re: offset Lun 20 Fév à 15:01 | |
| pour la gestion des offset (pour le tile mapping) regarde mon explication (le fichier txt) qu'il y a dans le programme de la promenade ![Smile](https://2img.net/i/fa/i/smiles/icon_smile.gif) | |
|
countag
Nombre de messages : 57 Date d'inscription : 10/02/2006
![offset Empty](https://2img.net/i/empty.gif) | Sujet: Re: offset Lun 20 Fév à 15:47 | |
| en faites j ai compris le systeme mais la je bloque : - Code:
-
void Map_Affiche(struct_map *map, int Xoffset, int Yoffset) { SDL_Rect src=Rect(0,0,32,32); SDL_Rect dest=Rect(0,0,32,32); int y,x,x1,y1;
map->offsetX = Xoffset; map->offsetY = Yoffset; x1 = map->offsetX%32; y1 = map->offsetY%32; for(y=0; y<map->largeur; y++){ for(x=0; x<map->longueur; x++){ dest=Rect(x*TILE_TAILLE-x1 , y*TILE_TAILLE-y1 , TILE_TAILLE, TILE_TAILLE); SDL_BlitSurface(map->s_chipset,&src,SDL_GetVideoSurface(),&dest); } } } c est le code qui affiche la map, il est simple donc j ai repris ton code enfin une partie mais le probleme c est qu il y aura un decalage de 32max car quand mon offset arrivera a 32 ca fera 32%32 = 0 donc la coordonne reviendra a 0 ce qui m arrive :/, la je cherche encore mais je vais trouver, je lacherai pas prise lol | |
|