2014-12-27 88 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