2014-07-07 39 views
0

我的球员“矩形”不会画,除非我这样做的成员初始化:SFML不绘制形状,当我打电话形状的构造“形()”

mPLayer(sf::Vector2f(10,10)) 

即使我已经做了这在构造函数中定义:

mPLayer.setPosition(50,50); 
    mPLayer.setFillColor(sf::Color::Green); 

的问题是我想用一个std ::向量来存储多种形状和控制他们,但是当我这样做,它不会工作“不引”:

在标题中:

std::vector<sf::RectangleShape>mPlayerScale; 
在实施

mPlayerScale.resize(3); 
    mPlayerScale[0].setPosition(0.f,0.f); 
    mPlayerScale[1].setPosition(101,101); 
    mPlayerScale[2].setPosition(101,101); 
    mPlayerScale[0].setFillColor(sf::Color::Red); 
    mPlayerScale[1].setFillColor(sf::Color::Green); 
    mPlayerScale[2].setFillColor(sf::Color::Blue); 

和既然MPlayer()不工作时,我把它叫做那么向量将无法正常工作“不会画”

回答

3

默认矩形的大小是0 x 0.这就是为什么它不会绘制。

要么将​​sf::Vector2f传递给构造函数来指定大小,要么使用setSize()方法。

+0

非常感谢你的工作。 – user3678306