আমি একটি প্ল্যাটফর্মিং গেমটি লেখার চেষ্টা করছি যেখানে স্তর ব্যাকগ্রাউন্ডের স্প্রাইটগুলি 512x512 খণ্ডে বিভক্ত করা হয়েছে। আমি একসাথে 3 টি অংশ স্মৃতিতে রাখি এবং আমি তিনটি স্ক্রিনে ব্লিট করার জন্য কোড লেখার চেষ্টা করছি। আমার কাছে বর্তমান কোডটি এখানে:
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);
আমি যে ইস্যুটির মধ্যে যাচ্ছি তা হ'ল যেই অংশটি প্রথমে ব্লিটেড হয় কেবল এটিই প্রদর্শিত হয়। বাকিরা অনস্ক্রিনে উপস্থিত হতে ব্যর্থ। আমি মনে করি আলফা স্বচ্ছতার সাথে ইস্যুটির কিছু সম্পর্ক থাকতে পারে, তবে খণ্ডগুলি একেবারে ওভারল্যাপ না করলেও তারা ঝাপসা করতে ব্যর্থ হয়। কোডের অন্যান্য অংশগুলিতে আমি এক সাথে পর্দায় একাধিক জিনিস ব্লিটি করছি, যেমন অক্ষর এবং ব্যাকগ্রাউন্ড এবং সেগুলি সমস্ত সঠিকভাবে প্রদর্শিত হয়। কোডের এই নির্দিষ্ট বিভাগটিই কেবলমাত্র এই ক্ষেত্রের সাথে আমি এই সমস্যার মুখোমুখি।
আমি যদি লাইনটি মন্তব্য করি যা বাম_পাখিকে blits করে, এটি এতে পরিবর্তন হয়: