当我调用形状的构造函数时,SFML没有绘制形状"形状()"

时间:2014-07-07 14:47:41

标签: c++ sfml

我的播放器"矩形"除非我在成员初始化中这样做,否则不会抽奖:

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

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

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

问题是我想使用std :: vector存储许多形状并控制它们但是它不会工作"不画画"当我这样做时:

在标题中:

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()不起作用,所以向量不会工作&#34;不会抽奖&#34;

1 个答案:

答案 0 :(得分:3)

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

sf::Vector2f传递给构造函数以指定大小,或使用setSize()方法。