# File lib/rubygame/clock.rb, line 109 def tick() now = Rubygame::Time.get_ticks() # ms since init'd Rubygame @passed = now - @last_tick # how long since the last tick? @last_tick = now # update last tick time @ticks += 1 # increment ticks @raw_passed = @passed # save unadjusted @passed # Now we manually delay if we are too early, so the # frames per second stays approx. at the desired rate. if @desired_fps and (self.fps() > @desired_fps) goal_delay = (1000.0/@desired_fps) - @passed unless goal_delay < 0 # which would mean we're too slow actual_delay = Rubygame::Time.delay(goal_delay) @passed += actual_delay # why @raw_passed is different # else we are running too slow anyway, can't un-delay end end return @passed end