Я тестирую функцию в библиотеке SFML mouseWheelScroll.delta
но я всегда получаю возвращаемое значение 0. Почему это может быть?
Мой код, который я использовал ниже, обратите внимание, что в некоторых первых строках кода в программе я инициализировал переменную sf::Event event;
,
if (event.type == sf::Event::MouseWheelScrolled) {
std::cout << "wheel movement: " << event.mouseWheelScroll.delta << std::endl;
}
Нужно ли в библиотеке SFML окно или она может использовать консоль? (Я спрашиваю только потому, что я создаю консольное приложение)
Я почти уверен, что вы что-то забыли в своем цикл событий. Я попробовал этот фрагмент, и он отлично работает
#include <iostream>
#include <SFML\Graphics.hpp>
int main(){
sf::RenderWindow v(sf::VideoMode::getDesktopMode(), "SFML");
while (v.isOpen()){
sf::Event event;
while (v.pollEvent(event)){
if (event.type == sf::Event::Closed)
v.close();
else if (event.type == sf::Event::MouseWheelScrolled){
std::cout << "Wheel: " << event.mouseWheelScroll.delta << std::endl;
}
}
v.clear();
v.display();
}
return 0;
}
Пожалуйста, попробуйте и сравните, что вы делаете неправильно (а затем поделитесь с нами)
Отвечая на ваш второй вопрос, я создал окно рендеринга, но я думаю, что ваш вопрос больше касается того, может ли проект быть консольным приложением, и на самом деле это оно, и если вы попробуете его, оно отобразит и консоль, и окно.
Спасибо всем за помощь, оказывается, у меня были проблемы с линией sf::RenderWindow v(sf::VideoMode::getDesktopMode(), "SFML");
и это было потому, что надстройка VC ++ не была установлена, поэтому я всегда получал ошибку «не удалось найти« winmm.lib »».
Оба этих примера кода, которые предоставили другие, работают, это был только я … извините, но это очень ценится!