SFML и C++ Уроки \ Разработка игр › Форумы › SFML Graphics › Неправильное торможение персонажа › Ответ в теме: Неправильное торможение персонажа
Dench, приветствую.
Обратите внимание на блок отрисовки карты. В нем переменная ‘i’ соответствует координате ‘y’ (“высоте” карты), а не ‘x’, в то время как ‘j’ – напротив – отвечает за ‘x’, а не за ‘y’. А именно:
C++
1 2 3 4 5 6 7 8 9 10 |
for (int i = 0; i < height_map; i++) for (int j = 0; j < width_map; j++) { if (TileMap[i][j] == '0')s_map.setTextureRect(IntRect(63, 768, 32, 32)); if (TileMap[i][j] == ' ')s_map.setTextureRect(IntRect(0, 480, 32, 32)); if (TileMap[i][j] == 'a')s_map.setTextureRect(IntRect(65, 995, 32, 32));//256, 1088, 32, 32 // s_map.setPosition(i * 32, j * 32); - Ваш вариант... s_map.setPosition(j * 32, i * 32); // - правильный вариант window.draw(s_map); } |