Singletonパターンを作りたかったのですが、以下のコードにて
Instance()でインスタンスを作り、アロー演算子でRecieveFPSをうけとってみたのですが、
常にfalseの状態で返ってきます。
どうすればtrueを取得できますか?
UpdateFPS関数は実行しています。
C++
1#ifndef clock_hpp 2#define clock_hpp 3 4class Clock 5{ 6private: 7 static Clock* _Instance; 8 static double _currenttime; 9 static double _lasttime; 10 static bool _fps; 11 12protected: 13 Clock(); 14 15public: 16 static Clock* Instance(); 17 static void UpdateFPS(); 18 static bool RecieveFPS(); 19}; 20 21#endif /* clock_hpp */ 22
C++
1#include "clock.hpp" 2#include <GLFW/glfw3.h> 3#include <iostream> 4 5Clock* Clock::_Instance = 0; 6double Clock::_currenttime = 0; 7double Clock::_lasttime = 0; 8bool Clock::_fps = 0; 9 10Clock::Clock() 11{ 12 13} 14 15Clock* Clock::Instance() 16{ 17 if (_Instance == 0) 18 _Instance = new Clock; 19 return _Instance; 20} 21 22void Clock::UpdateFPS() 23{ 24 // Get current time 25 double _currenttime = glfwGetTime(); 26 // Each 120 frame per sec 27 if ( _currenttime - _lasttime >= 1.0/float(120) ) { 28 _lasttime = _currenttime; 29 _fps = true; 30 std::cout << "ここまできた" << _fps << std::endl; 31 } 32 _fps = false; 33 34} 35 36bool Clock::RecieveFPS() 37{ 38 std::cout << _fps << std::endl; 39 return _fps; 40} 41
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/05 05:02