512x512 parçalara ayrılmış arka planlar için sprite bir platform oyunu yazmaya çalışıyorum. Bir kerede 3 parça hafızada tutuyorum ve üçünü de ekrana sığdırmak için kod yazmaya çalışıyorum. İşte mevcut kod var:
SDL_Rect where;
where.y = -game->camera->y;
where.x = -game->camera->x - MAP_WIDTH;
SDL_BlitSurface(left_chunk, NULL, screen, &where);
where.x = -game->camera->x;
SDL_BlitSurface(center_chunk, NULL, screen, &where);
where.x = -game->camera->x + MAP_WIDTH;
SDL_BlitSurface(right_chunk, NULL, screen, &where);
Karşılaştığım sorun, hangisinin önce körelirse ortaya çıktığı tek şey olmasıdır. Kalanlar ekranda görünmez. Sorunun alfa saydamlığıyla ilgili bir şey olabileceğini düşünüyorum, ancak parçalar hiç örtüşmese bile hala körelemiyorlar. Kodun diğer kısımlarında, karakterler ve arka planlar gibi ekrana birden fazla şey karıştırıyorum ve hepsi doğru görünüyor. Bu kod segmenti, bu sorunla karşılaştığım tek alandır.
Left_chunk blits satır yorum, bu değişir: