[][src]Struct quicksilver::Timer

pub struct Timer { /* fields omitted */ }

A timer that you can use to fix the time between actions, for example updates or draw calls.

See the article Fix Your Timestep for more on how to use timers to ensure framerate-independence.

Implementations

impl Timer[src]

pub fn time_per_second(times: f32) -> Timer[src]

Create a timer that ticks n many times per second

pub fn with_duration(period: Duration) -> Timer[src]

Create a timer with a given period (time between ticks)

pub fn tick(&mut self) -> bool[src]

Look if the time has elapsed and if so, starts the countdown for the next tick.

You can use a while loop instead of an if to catch up in the event that you were late. Each tick will only 'consume' one period worth of time.

pub fn exhaust(&mut self) -> Option<NonZeroUsize>[src]

Similar to Self::tick() but tells you how many ticks have passed, rather than just if a tick has passed.

This is useful in situations where catching up isn't needed or possible, like rendering to the screen. If you've missed rendering three frames, there's no point in drawing them now: just render the current state and move on.

pub fn reset(&mut self)[src]

Resets the timer to count from this moment.

This is the same as creating a new Timer with the same period

pub fn period(&self) -> Duration[src]

Gets the time in between ticks

pub fn elapsed(&self) -> Duration[src]

How much time has passed since the timer was last ticked

pub fn remaining(&self) -> Option<Duration>[src]

Look how much time is still left before its time for next tick.

pub fn late_by(&self) -> Option<Duration>[src]

Look how late you are with calling Timer::tick() if you would call it right now

Trait Implementations

impl Clone for Timer[src]

impl Debug for Timer[src]

Auto Trait Implementations

impl RefUnwindSafe for Timer

impl Send for Timer

impl Sync for Timer

impl Unpin for Timer

impl UnwindSafe for Timer

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.