我想在向量中添加一些元素。 到目前为止,我总是使用这种方式在向量中插入元素,它始终有效。我不知道为什么它今天不起作用。
World::World()
{
collisionmap.loadFromFile("collisionmap.png");
for(int i=0; i<collisionmap.getSize().y; i++)
{
for(int j=0; j<collisionmap.getSize().x; j++)
{
if(collisionmap.getPixel(j,i)==sf::Color(0,0,0))
{
cout<<"test"<<endl //prints perfectly
collisionList.push_back(sf::FloatRect(j*32, i*32, 32, 32));
}
}
}
cout<<collisionList.size(); //shows nothing
}
编辑:
我忘了提及: -
1.我正在使用SFML。
2. collisionList 是向量。
3.此代码编译没有任何问题。
4.碰撞图的大小不为零,因为 collisionmap.getSize()会返回准确的值。
答案 0 :(得分:2)
cout<<collisionList.size(); //shows nothing
当然。这只是把东西放在缓冲区中,它实际上并没有输出任何东西。尝试:
cout<<collisionList.size()<<endl;