2014-12-27 69 views
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(); 
    } 
} 

偏偏我的时钟不会重置,我不知道为什么,我真的不知道如何解决它:/ 窗口提请只是一个时间pociskSprite,在100,50计时器未重置SFML功能

回答

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说,你的函数需要一个值,而不是是ference。使用&来传递引用而不是值。

0

你的函数需要一个,不是参考,让你重置副本,而不是原来的

+0

固定,thx :)我不能投票你最多:( – kozi 2014-12-27 19:05:34

+0

@kozi然后只是将其设置为答案(如果我没有记错,答案左侧的勾号);-) – Hiura 2014-12-27 22:39:06