我的播放器"矩形"除非我在成员初始化中这样做,否则不会抽奖:
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;
答案 0 :(得分:3)
矩形的默认大小为0 x 0.这就是为什么它不会被绘制。
将sf::Vector2f
传递给构造函数以指定大小,或使用setSize()
方法。