nodesnim/nodes/animation_player

Provides animation in most nodes

Types

AnimationObject = object
  states: seq[tuple[tick: int, value: float]]
  obj: ptr float
AnimationPlayerObj {...}{.final.} = object of NodeObj
  objects*: seq[AnimationObject]
  duration*: int64
  tick*: int64
  is_played*: bool
  loop*: bool
  bezier*: tuple[p0, p1: float]
  mode*: AnimationMode
AnimationPlayerRef = ref AnimationPlayerObj

Procs

proc AnimationPlayer(name: string = "AnimationPlayer"): AnimationPlayerRef {...}{.
    raises: [], tags: [].}

Example:

var animplayer = AnimationPlayer("AnimationPlayer")

Methods

method addState(self: AnimationPlayerRef; obj: ptr float;
                states: seq[tuple[tick: int, value: float]]) {...}{.base, raises: [],
    tags: [].}
Adds a new state to AnimationPlayer.
method draw(self: AnimationPlayerRef; w: GLfloat; h: GLfloat) {...}{.raises: [],
    tags: [].}
This uses in the window.nim.
method play(self: AnimationPlayerRef) {...}{.base, raises: [], tags: [].}
Plays animation.
method setDuration(self: AnimationPlayerRef; duration: int) {...}{.base, raises: [],
    tags: [].}
Changes animation duration.
method stop(self: AnimationPlayerRef) {...}{.base, raises: [], tags: [].}
Stops animation.