org.dishevelled.piccolo.sprite
Class Sprite

java.lang.Object
  extended by org.piccolo2d.PNode
      extended by org.dishevelled.piccolo.sprite.Sprite
All Implemented Interfaces:
Printable, Serializable, Cloneable

public class Sprite
extends org.piccolo2d.PNode

Piccolo2D sprite node.

Version:
$Revision$ $Date$
Author:
Michael Heuer
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.piccolo2d.PNode
org.piccolo2d.PNode.PSceneGraphDelegate
 
Field Summary
 
Fields inherited from class org.piccolo2d.PNode
FILL_STRATEGY_ASPECT_COVER, FILL_STRATEGY_ASPECT_FIT, FILL_STRATEGY_EXACT_FIT, PROPERTY_BOUNDS, PROPERTY_CHILDREN, PROPERTY_CHILDREN_PICKABLE, PROPERTY_CLIENT_PROPERTIES, PROPERTY_CODE_BOUNDS, PROPERTY_CODE_CHILDREN, PROPERTY_CODE_CHILDREN_PICKABLE, PROPERTY_CODE_CLIENT_PROPERTIES, PROPERTY_CODE_FULL_BOUNDS, PROPERTY_CODE_PAINT, PROPERTY_CODE_PARENT, PROPERTY_CODE_PICKABLE, PROPERTY_CODE_TRANSFORM, PROPERTY_CODE_TRANSPARENCY, PROPERTY_CODE_VISIBLE, PROPERTY_FULL_BOUNDS, PROPERTY_PAINT, PROPERTY_PARENT, PROPERTY_PICKABLE, PROPERTY_TRANSFORM, PROPERTY_TRANSPARENCY, PROPERTY_VISIBLE, SCENE_GRAPH_DELEGATE
 
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Constructor Summary
Sprite(Animation animation)
          Create a new piccolo sprite node with the specified animation.
Sprite(Animation currentAnimation, Set<Animation> animations)
          Create a new piccolo sprite node from the specified required parameters.
Sprite(Animation currentAnimation, Set<Animation> animations, int frameSkip)
          Create a new piccolo sprite node from the specified required parameters.
 
Method Summary
 void addAnimation(Animation animation)
          Add the specified animation to the set of animations for this piccolo sprite node.
 void advance()
          Advance this piccolo sprite node one frame.
 Set<Animation> getAnimations()
          Return an unmodifiable set of animations for this piccolo sprite node.
 Animation getCurrentAnimation()
          Return the current animation for this piccolo sprite node.
 int getFrameSkip()
          Return the number of frames to skip.
 void paint(org.piccolo2d.util.PPaintContext paintContext)
          
 void removeAnimation(Animation animation)
          Remove the specified animation from the set of animations for this piccolo sprite node.
 void setCurrentAnimation(Animation currentAnimation)
          Set the current animation for this piccolo sprite node to currentAnimation.
 
Methods inherited from class org.piccolo2d.PNode
addActivity, addAttribute, addChild, addChild, addChildren, addInputEventListener, addPropertyChangeListener, addPropertyChangeListener, animateToBounds, animateToColor, animateToPositionScaleRotation, animateToRelativePosition, animateToTransform, animateToTransparency, animateTransformToBounds, centerBoundsOnPoint, centerFullBoundsOnPoint, clone, computeFullBounds, endResizeBounds, findIntersectingNodes, fireChildPropertyChange, firePropertyChange, fullIntersects, fullPaint, fullPick, getAllNodes, getAllNodes, getAttribute, getAttribute, getBooleanAttribute, getBounds, getBoundsChanged, getBoundsReference, getBoundsVolatile, getChild, getChildBoundsInvalid, getChildBoundsVolatile, getChildPaintInvalid, getChildrenCount, getChildrenIterator, getChildrenPickable, getChildrenReference, getClientProperties, getClientPropertyKeysEnumeration, getDoubleAttribute, getFullBounds, getFullBoundsInvalid, getFullBoundsReference, getGlobalBounds, getGlobalFullBounds, getGlobalRotation, getGlobalScale, getGlobalToLocalTransform, getGlobalTranslation, getHeight, getInputEventListeners, getIntegerAttribute, getInverseTransform, getListenerList, getLocalToGlobalTransform, getName, getOccluded, getOffset, getPaint, getPaintInvalid, getParent, getPickable, getPropertyChangeParentMask, getRoot, getRotation, getScale, getTransform, getTransformReference, getTransparency, getUnionOfChildrenBounds, getVisible, getWidth, getX, getXOffset, getY, getYOffset, globalToLocal, globalToLocal, globalToLocal, indexOfChild, internalUpdateBounds, intersects, invalidateFullBounds, invalidateLayout, invalidatePaint, isAncestorOf, isDescendentOf, isDescendentOfRoot, isOpaque, layoutChildren, lerp, localToGlobal, localToGlobal, localToGlobal, localToParent, localToParent, localToParent, moveInBackOf, moveInFrontOf, moveToBack, moveToFront, offset, paintAfterChildren, parentBoundsChanged, parentToLocal, parentToLocal, parentToLocal, pick, pickAfterChildren, print, print, removeAllChildren, removeChild, removeChild, removeChildren, removeFromParent, removeInputEventListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaintFrom, reparent, replaceWith, resetBounds, rotate, rotateAboutPoint, rotateAboutPoint, rotateInPlace, scale, scaleAboutPoint, scaleAboutPoint, setBounds, setBounds, setBoundsChanged, setChildBoundsInvalid, setChildBoundsVolatile, setChildPaintInvalid, setChildrenPickable, setFullBoundsInvalid, setGlobalRotation, setGlobalScale, setGlobalTranslation, setHeight, setName, setOccluded, setOffset, setOffset, setPaint, setPaintInvalid, setParent, setPickable, setPropertyChangeParentMask, setRotation, setScale, setTransform, setTransparency, setVisible, setWidth, setX, setY, signalBoundsChanged, startResizeBounds, toImage, toImage, toImage, toImage, transformBy, translate, validateFullBounds, validateFullPaint
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Sprite

public Sprite(Animation animation)
Create a new piccolo sprite node with the specified animation.

Parameters:
animation - animation for this piccolo sprite node, must not be null

Sprite

public Sprite(Animation currentAnimation,
              Set<Animation> animations)
Create a new piccolo sprite node from the specified required parameters.

The specified current animation must be contained in the set of animations for this piccolo sprite node.

The specified set of animations must contain at least one animation. The animations in animations are copied defensively into this class.

Parameters:
currentAnimation - current animation for this piccolo sprite node, must not be null and must be contained in the set of animations for this piccolo sprite node
animations - set of animations, must not be null and must contain at least one animation
Throws:
IllegalArgumentException - if animations.size() < 1

Sprite

public Sprite(Animation currentAnimation,
              Set<Animation> animations,
              int frameSkip)
Create a new piccolo sprite node from the specified required parameters.

The specified current animation must be contained in the set of animations for this piccolo sprite node.

The specified set of animations must contain at least one animation. The animations in animations are copied defensively into this class.

Parameters:
currentAnimation - current animation for this piccolo sprite node, must not be null and must be contained in the set of animations for this piccolo sprite node
animations - set of animations, must not be null and must contain at least one animation
frameSkip - number of frames to skip
Throws:
IllegalArgumentException - if animations.size() < 1
Method Detail

advance

public final void advance()
Advance this piccolo sprite node one frame.


getFrameSkip

public final int getFrameSkip()
Return the number of frames to skip. Defaults to 0.

Returns:
the number of frames to skip

getCurrentAnimation

public final Animation getCurrentAnimation()
Return the current animation for this piccolo sprite node. The current animation will not be null.

Returns:
the current animation for this piccolo sprite node

setCurrentAnimation

public final void setCurrentAnimation(Animation currentAnimation)
Set the current animation for this piccolo sprite node to currentAnimation. The specified animation must be contained in the set of animations for this piccolo sprite node.

This is a bound property.

Parameters:
currentAnimation - current animation for this piccolo sprite node, must not be null and must be contained in the set of animations for this piccolo sprite node
See Also:
getAnimations()

getAnimations

public final Set<Animation> getAnimations()
Return an unmodifiable set of animations for this piccolo sprite node. The returned set will not be null and will contain at least one animation.

Returns:
an unmodifiable set of animations for this piccolo sprite node

addAnimation

public final void addAnimation(Animation animation)
Add the specified animation to the set of animations for this piccolo sprite node. An exception may be thrown if the underlying set prevents animation from being added.

Parameters:
animation - animation to add

removeAnimation

public final void removeAnimation(Animation animation)
Remove the specified animation from the set of animations for this piccolo sprite node. An exception may be thrown if the underlying set prevents animation from being removed.

Parameters:
animation - animation to remove, must not be the current animation and must not be the last animation in the set of animations for this piccolo sprite node
Throws:
IllegalStateException - if animation is the current animation or the last animation in the set of animations for this piccolo sprite node

paint

public final void paint(org.piccolo2d.util.PPaintContext paintContext)

Overrides:
paint in class org.piccolo2d.PNode


Copyright (c) 2006-2011 held jointly by the individual authors. Licensed under the GNU Lesser General Public License (LGPL).