void strzalObcy(sf::Clock clock, sf::Sprite pociskSprite,sf::RenderWindow &window,int przesuniecie ){
sf::Time timer = clock.getElapsedTime();
std::cout << timer.asSeconds() << std::endl;
if (timer.asSeconds() >= 1.0f )
{
pociskSprite.setPosition(100,przesuniecie);
window.draw(pociskSprite);
przesuniecie+=50;
clock.restart();
}
}
不幸的是我的时钟没有重置,我不知道为什么,我真的不知道如何解决它:/ Window在100,50
中只绘制了一次pociskSprite答案 0 :(得分:0)
您的功能采用值,而非参考,因此您重置副本而不是原始副本
答案 1 :(得分:0)
void strzalObcy(sf::Clock& clock, sf::Sprite pociskSprite,sf::RenderWindow &window,int przesuniecie ){
sf::Time timer = clock.getElapsedTime();
std::cout << timer.asSeconds() << std::endl;
if (timer.asSeconds() >= 1.0f )
{
pociskSprite.setPosition(100,przesuniecie);
window.draw(pociskSprite);
przesuniecie+=50;
clock.restart();
}
}
正如Hiura所说,你的函数需要一个值,而不是一个引用。使用&amp;传递引用而不是值。