2014-07-07 38 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