Désolé si y'avait pas de titre, j'ai du accroché un boutton. Voilà pour le code minimal:
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
#include <iostream>
int main(int argc, char *argv[])
{
sf::RenderWindow Window(sf::VideoMode(1280,860),"TEST");
Window.setFramerateLimit(60);
sf::Event event;
sf::View view;
view.setCenter(0,0);
Window.setView(view);
sf::Vector2i Mouse;
sf::Vector2f ConvertedMouse;
sf::RectangleShape Rect;
Rect.setSize(sf::Vector2f(20,20));
Rect.setPosition(0,0);
Rect.setFillColor(sf::Color(255,0,0));
while(Window.isOpen())
{
Window.pollEvent(event);
switch(event.type)
{
case sf::Event::MouseMoved:
Mouse=sf::Mouse::getPosition(); // Erreur est ici, il mettre La fenêtre en argument.
break;
case sf::Event::MouseWheelMoved:
if(event.mouseWheel.delta>0) view.zoom(0.91f);
if(event.mouseWheel.delta<0) view.zoom(1.09f);
event.mouseWheel.delta=0;
break;
}
Window.setView(view);
ConvertedMouse=Window.convertCoords(Mouse,view);
std::cout<<ConvertedMouse.x<<std::endl;
std::cout<<ConvertedMouse.y<<std::endl;
Window.clear(sf::Color(255,255,255));
Window.draw(Rect);
Window.display();
}
}
On peut voir que avant le Zoom, la console affiche une position de à peu près (130,130) si le carré alors qu'il est à (0.0). Il faut un très grand zoom pour effectivement que le coin arrive à 0.0. Mais il y a de forte chance que se soit une erreur de manipulation de ma part.
Merci de ton aide !
EDIT: Je crois que je gère peut-être très mal le mouvement de la souris en faite...ouais je prend la position relative au bureau, je suis vraiment con desfois.
Résolu maintenant ! Désolé du dérangement !