Bonjour tout le monde,
J'ai récemment fait une classe de rectangle arrondi, et j'aimerai lui donner des couleurs.
J'ai donc fait un code basique, assez simple..
Main.cpp
int main() //évidemment j'ai réduit mon code la
{
RoundRect * rect2= new RoundRect(sf::Vector2f(10.f,230.f), sf::Vector2f(300.f,50.f), 20, 5,sf::Color::Yellow, sf::Color::Cyan, 3);
RoundRect * rect = new RoundRect(sf::Vector2f(10.F,10.f), sf::Vector2f(200.f, 200.f), 10.f, 10, sf::Color::Green, sf::Color::Blue, 2);
window.clear();
window.draw(*rect);
window.draw(*rect2);
window.display();
return 0;
}
RoundRect.hpp
class RoundRect : public sf::Shape
{
public:
RoundRect(const sf::Vector2f& position, const sf::Vector2f& dimensions,const float& borderRadius, const int unsigned& pointCount, const sf::Color& fillcolor, const sf::Color& outColor, const float& outThickness);
~RoundRect();
virtual unsigned int getPointCount() const
{
return m_shape.getPointCount();
}
virtual sf::Vector2f getPoint (unsigned int index) const
{
return m_shape.getPoint(index);
}
private:
sf::ConvexShape m_shape;
};
Et pour finir, le .cpp
RoundRect::RoundRect(const sf::Vector2f& position, const sf::Vector2f& dimensions,const float& borderRadius, const int unsigned& pointCount, const sf::Color& fillcolor, const sf::Color& outColor, const float& outThickness)
{
//Un gros constructeur
m_shape.setOutlineThickness(outThickness);
m_shape.setFillColor(fillcolor);
m_shape.setOutlineColor(outColor);
update();
}
Mais, mes "rectangles" restent blancs
. Pourtant, j'ai bien des formes convexes..
Si quelqu'un aurait une idée ça serait sympa de la poster