Не работает SFML 3.0.2
В общем, понадобилась мне библиотека SFML. Установил, все пути указал, разрядность библиотеки, винды и компилятора совпадает (у меня 64-бит). Тестовый код, предлагаемый с официального сайта, работает (тот, который зелёный круг выводит). Но как только пытаюсь писать что-то своё или брать что-то из интернета, так сразу вылезает куча ошибок. Я перепроверял код, вроде всё написано правильно, но работать отказывается. Пересмотрел кучу видео на ютубе, перепроверял, всё ли правильно установил, но ничего не помогает.
сам код
#include <SFML/Graphics.hpp>
#include <cmath>
#include <vector>
const float PI = acos(-1.0f); // Значение Пи
int main() {
sf::RenderWindow window(sf::VideoMode(800, 600), "Sin(x) Graph"); // Создаем окно 800x600
// Создаем график
sf::VertexArray graph(sf::LineStrip);
// Настраиваем оси и масштаб
float scaleX = 100.0f; // Масштаб по оси X (пикселей на 1 единицу x)
float scaleY = 200.0f; // Масштаб по оси Y (пикселей на 1 единицу y)
float offsetX = 400.0f; // Смещение по X, чтобы центр был в центре экрана
float offsetY = 300.0f; // Смещение по Y, чтобы центр был в центре экрана
// Рисуем график от -2*PI до 2*PI
for (float x = -2 * PI; x <= 2 * PI; x += 0.01f) {
float y = std::sin(x);
// Преобразуем математические координаты в пиксели
float screenX = offsetX + x * scaleX;
float screenY = offsetY - y * scaleY; // Минус, так как в SFML ось Y направлена вниз
// Добавляем точку в наш массив вершин
graph.append(sf::Vertex(sf::Vector2f(screenX, screenY), sf::Color::Green));
}
while (window.isOpen()) {
sf::Event event;
while (window.pollEvent(event)) {
if (event.type == sf::Event::Closed) {
window.close();
}
}
window.clear(sf::Color::Black); // Очищаем окно черным цветом
window.draw(graph); // Рисуем график
window.display(); // Отображаем содержимое окна
}
return 0;
}
ошибка
Редактор кода использую VS Code.
Ответы (1 шт):
Этот код - для SFML 2, а у вас - SFML 3. Про разницу читайте тут..
Например там пишут, что вместо sf::VideoMode(x, y) теперь sf::VideoMode({x, y}). Остальное сами...
