Class: EaseEngine::Frame
- Inherits:
-
Object
- Object
- EaseEngine::Frame
- Defined in:
- lib/ease_engine/frame.rb
Constant Summary collapse
- @@fps =
0- @@measure =
EaseEngine::Measure.new
- @@offset_usec =
sleep が意図した時間分 sleep するとは限らないので、遅延分を次の sleep 時間から引くためのオフセット値
0
Class Method Summary collapse
Class Method Details
.fps ⇒ Object
13 14 15 |
# File 'lib/ease_engine/frame.rb', line 13 def self.fps @@fps end |
.fps=(fps) ⇒ Object
9 10 11 |
# File 'lib/ease_engine/frame.rb', line 9 def self.fps=( fps ) @@fps = fps end |
.update(&block) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/ease_engine/frame.rb', line 17 def self.update( &block ) if 0 == @@fps block.call( 0, 0.0 ) else @@measure.check sleep_time_usec = 1000000 / @@fps - @@measure.update_usec + @@offset_usec sleep_time_usec = 0 if sleep_time_usec < 0 @@measure.start @@offset_usec = sleep_time_usec begin measure = EaseEngine::Measure.new sleep_time_f = sleep_time_usec.to_f / 1000000 block.call( sleep_time_usec, sleep_time_f ) sleep_time_usec -= measure.check end while 0 < sleep_time_usec @@offset_usec -= @@measure.check @@measure.start end end |