This namespace provides the core of the animation system.
These can be added to game-objects with prospero.game-objects/add-animators
.
Animations can be specified like this:
[path-vector change-desription tag options]
path-vector
is simply a vector of keys pointing to where the value will
be changed. The change-description is used to control the change value.
In the future, there will be a number of other ways to declare animations
and provide custom functions to specify the animation curve. Tag is a spare
parameter that is likely going to be removed. Options are optional, but
can add extra behaviours to the animation.
A value can be changed or set immediately with a description in this format:
[[:path :to :target] [[number unit]] :set opts]
For example to set the column in a sprite animation:
[[:texture :col] [[3 :col-index]] :set]
A constant rate of change can be specified this way:
[[:translation 0] [[20 :pixels] [1 :second]] :constant]
Keys for options include:
:animator-id ; - this name can be used to control animation state via events
:intitial-state ; - :running or :stopped
:limit ; - :constant animation will end here - will deprcate in future
:on-limit ; - :signal or :reset
:limit-signal ; - will send this signal when limit is hit
NB: tag is mostly a free parameter right now, and might be removed in a future release.
This namespace provides the core of the animation system. These can be added to game-objects with `prospero.game-objects/add-animators`. Animations can be specified like this: ``` [path-vector change-desription tag options] ``` `path-vector` is simply a vector of keys pointing to where the value will be changed. The change-description is used to control the change value. In the future, there will be a number of other ways to declare animations and provide custom functions to specify the animation curve. Tag is a spare parameter that is likely going to be removed. Options are optional, but can add extra behaviours to the animation. A value can be changed or set immediately with a description in this format: ``` [[:path :to :target] [[number unit]] :set opts] ``` For example to set the column in a sprite animation: ``` [[:texture :col] [[3 :col-index]] :set] ``` A constant rate of change can be specified this way: ``` [[:translation 0] [[20 :pixels] [1 :second]] :constant] ``` Keys for options include: ``` :animator-id ; - this name can be used to control animation state via events :intitial-state ; - :running or :stopped :limit ; - :constant animation will end here - will deprcate in future :on-limit ; - :signal or :reset :limit-signal ; - will send this signal when limit is hit ``` NB: tag is mostly a free parameter right now, and might be removed in a future release.
This provides controls for the audio system. It's still pretty limited right now.
This provides controls for the audio system. It's still pretty limited right now.
This is all internal routines for the collision detection system.
This is all internal routines for the collision detection system.
This namespace provides useful routines that differ across host languages.
This namespace provides useful routines that differ across host languages.
Constraints provide a set of common state updating functions that can be used to control object behaviour.
::pospero.constraints/keep-on-screen ; - can keep the player object on screen
Constraints provide a set of common state updating functions that can be used to control object behaviour. ``` ::pospero.constraints/keep-on-screen ; - can keep the player object on screen ```
Clojure game engine with plugable renderer options.
Check out the docs prospero.game-objects
for a good place to start.
Clojure game engine with plugable renderer options. Check out the docs `prospero.game-objects` for a good place to start.
This has collected convenience functions for building up game objects.
This has collected convenience functions for building up game objects.
Some useful math functions - more to come around 1.0.0
Some useful math functions - more to come around 1.0.0
This namespace provides the extension points to connect other game systems to Prospero. More documentation will follow on the 1.0.0 timeframe.
This namespace provides the extension points to connect other game systems to *Prospero*. More documentation will follow on the 1.0.0 timeframe.
Llkely to be entirely replaced by the animation system, or mostly moved into math.
Llkely to be entirely replaced by the animation system, or mostly moved into math.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close