CUGL 2.1
Cornell University Game Library
|
#include <CURotateAction.h>
Public Member Functions | |
RotateTo () | |
~RotateTo () | |
void | dispose () |
bool | init () |
bool | init (float angle) |
bool | init (float angle, float time) |
float | getAngle () const |
void | setAngle (float angle) |
virtual std::shared_ptr< Action > | clone () override |
virtual void | load (const std::shared_ptr< SceneNode > &target, Uint64 *state) override |
virtual void | update (const std::shared_ptr< SceneNode > &target, Uint64 *state, float dt) override |
virtual std::string | toString (bool verbose=false) const override |
Public Member Functions inherited from cugl::scene2::Action | |
Action () | |
~Action () | |
float | getDuration () const |
void | setDuration (float time) |
operator std::string () const | |
Static Public Member Functions | |
static std::shared_ptr< RotateTo > | alloc () |
static std::shared_ptr< RotateTo > | alloc (float angle) |
static std::shared_ptr< RotateTo > | alloc (float angle, float time) |
Protected Attributes | |
float | _angle |
Protected Attributes inherited from cugl::scene2::Action | |
float | _duration |
This action represents a rotation to a specific angle.
The angle is measured in radians , counter-clockwise from the x-axis.
An action contains only the definition of the animation. This can include information about the transform to use or the duration of the animation. However, it does not contain any attribute of the target. Hence, an action can be reapplied to different targets.
By itself, an action does nothing. It only specifies an action that may take place. To use an action, it must be passed to the ActionManager. The manager will create an action instance and animate that instance. While an action may be reused many times, an action instance corresponds to a single animation.
|
inline |
Creates an uninitialized rotation action.
NEVER USE A CONSTRUCTOR WITH NEW. If you want to allocate an object on the heap, use one of the static constructors instead.
|
inline |
Deletes this action instance, disposing all resources
|
inlinestatic |
Returns a newly allocated rotation action towards the x-axis
The target angle is set to 0.0. Because of how rotatations are interpolated, this guarantees that the rotation will be clockwise. The animation will be instantaneous.
|
inlinestatic |
Returns a newly allocated rotation action towards the given angle
This angle is measured in radians, counter-clockwise from the x-axis. The animation will be counter-clockwise if the target angle is larger than the current one. Otherwise it will be clockwise. The animation will be instantaneous.
angle | The target rotation angle |
|
inlinestatic |
Returns a newly allocated rotation action towards the given angle
This angle is measured in radians, counter-clockwise from the x-axis. The animation will be counter-clockwise if the target angle is larger than the current one. Otherwise it will be clockwise. The animation will take place over the given number of seconds.
angle | The target rotation angle |
time | The animation duration |
|
overridevirtual |
Returns a newly allocated copy of this Action.
Reimplemented from cugl::scene2::Action.
|
inline |
Disposes all of the resources used by this action.
A disposed action can be safely reinitialized.
|
inline |
Returns the rotation target angle for this action.
Changing this value for an actively animating action can have undefined effects.
|
inline |
Initializes a rotation action towards the x-axis
The target angle is set to 0.0. Because of how rotatations are interpolated, this guarantees that the rotation will be clockwise. The animation will be instantaneous.
|
inline |
Initializes a rotation action towards the given angle
This angle is measured in radians, counter-clockwise from the x-axis.
The animation will be counter-clockwise if the target angle is larger than the current one. Otherwise it will be clockwise. The animation will be instantaneous.
angle | The target rotation angle |
bool cugl::scene2::RotateTo::init | ( | float | angle, |
float | time | ||
) |
Initializes a rotation action towards the given angle
This angle is measured in radians, counter-clockwise from the x-axis. The animation will be counter-clockwise if the target angle is larger than the current one. Otherwise it will be clockwise. The animation will take place over the given number of seconds.
angle | The target rotation angle |
time | The animation duration |
|
overridevirtual |
Prepares a target for action
The important state of the target is stored in the given state parameter. The semantics of this state is action-dependent.
target | The node to act on |
state | The relevant node state |
Reimplemented from cugl::scene2::Action.
|
inline |
Sets the rotation target angle for this action.
Changing this value for an actively animating action can have undefined effects.
angle | The rotation target angle for this action. |
|
overridevirtual |
Returns a string representation of the action for debugging purposes.
If verbose is true, the string will include class information. This allows us to unambiguously identify the class.
verbose | Whether to include class information |
Reimplemented from cugl::scene2::Action.
|
overridevirtual |
Executes an action on the given target node.
The important state of the target is stored in the given state parameter. The semantics of this state is action-dependent.
target | The node to act on |
state | The relevant node state |
dt | The elapsed time to animate. |
Reimplemented from cugl::scene2::Action.
|
protected |
The target angle for this action