SFML и C++ Уроки \ Разработка игр › Форумы › SFML Graphics › Рисование карты, оптимизация алгоритма › Ответ в теме: Рисование карты, оптимизация алгоритма
В общем я решил склеить, алгоритм такой
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
sf::Image imgMap; imgMap.create(255*16,156*16, sf::Color(100,100,100,100)); for (int i = 0; i < 156; ++i){ for (int x = 0; x < 255; ++x) { if (field[i][x].G == 216){ for (int q = 0; q < 16; ++q){ for (int w = 0; w < 16; ++w){ imgMap.setPixel(x*16+q, i*16+w, image.getPixel(16+w, 0+q));}}} if (field[i][x].G == 148) { for (int q = 0; q < 16; ++q){ for (int w = 0; w < 16; ++w){ imgMap.setPixel(x*16+q, i*16+w, image.getPixel(0+w, 0+q));}}} if (field[i][x].G == 255) { for (int q = 0; q < 16; ++q){ for (int w = 0; w < 16; ++w){ imgMap.setPixel(x*16+q, i*16+w, image.getPixel(32+w, 0+q));}}} if (field[i][x].G == 0) { for (int q = 0; q < 16; ++q){ for (int w = 0; w < 16; ++w){ imgMap.setPixel(x*16+q, i*16+w, image.getPixel(48+w, 0+q));}}} }} |
стало намного быстрее, но сама склейка идёт долго, так что скорее всего подойдёт только для статических карт, и для меня в перспективе не подходит, хочется туман войны и чтобы водичка плескалась.