Salut tout le monde !
Je veux juste afficher un cercle à l'écran via une classe Balle mais je ne sais pour quelle raison cela ne fonctionne pas. Ca fait la fenetre mais ne la mets pas en noir comme voulu. Ca compile.
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
#include <SFML/System.hpp>
sf::Event event;
sf::Event::KeyEvent keyevent;
sf::Keyboard::Key key;
class Ball
{
int CircleR, Redd, Greenn, Bluee;
sf::CircleShape shape;
public:
Ball(int CircleR,int Redd,int Greenn,int Bluee);
Ball();
sf::CircleShape getCircle();
void moveCircle(int x, int y);
};
int main()
{
Ball ball(100.f, 250, 0, 0);
sf::RenderWindow window(sf::VideoMode(800,600), "SFML Test");
while(window.isOpen())
{
while(window.pollEvent(event))
{
switch(event.type)
{
case sf::Event::Closed:
window.close();
break;
case sf::Event::KeyPressed:
switch(sf::Keyboard::isKeyPressed(key))
{
case sf::Keyboard::Left:
ball.moveCircle(-50, 0);
break;
case sf::Keyboard::Right:
ball.moveCircle(50, 0);
break;
case sf::Keyboard::Up:
ball.moveCircle(0, 50);
break;
case sf::Keyboard::Down:
ball.moveCircle(0, -50);
break;
default:
break;
}
break;
default:
break;
}
}
window.clear(sf::Color::Black);
window.draw(ball.getCircle());
window.display();
}
return 0;
}
Ball::Ball(int CircleR, int Redd, int Greenn, int Bluee)
{
CircleR = CircleR;
Redd = Redd;
Greenn = Greenn;
Bluee = Bluee;
shape.setRadius(CircleR);
shape.setFillColor(sf::Color(Redd,Greenn,Bluee));
shape.setPosition(100,100);
}
Ball::Ball()
{
shape.setRadius(50);
shape.setFillColor(sf::Color(100,100,100));
shape.setPosition(100,100);
}
sf::CircleShape Ball::getCircle()
{
return shape;
}
void Ball::moveCircle(int x, int y)
{
getCircle().move(x, y);
}
J'ai mis Redd/Greenn/Bluee parce que je ne savais pas si il y aurait pu avoir une confusion avec les sf::Color (on ne sait jamais :p)
Merci d'avance