001         package com.croftsoft.core.animation;
002    
003         import java.awt.Rectangle;
004         import java.awt.Shape;
005    
006         /*********************************************************************
007         * A ComponentAnimator representing a moving object.
008         *
009         * @version
010         *   2003-07-11
011         * @since
012         *   2002-03-06
013         * @author
014         *   <a href="https://www.croftsoft.com/">David Wallace Croft</a>
015         *********************************************************************/
016    
017         public interface  Sprite
018           extends ComponentAnimator
019         //////////////////////////////////////////////////////////////////////
020         //////////////////////////////////////////////////////////////////////
021         {
022    
023         //////////////////////////////////////////////////////////////////////
024         // accessor methods
025         //////////////////////////////////////////////////////////////////////
026    
027         public double  getX        ( );
028    
029         public double  getY        ( );
030    
031         public double  getZ        ( );
032    
033         public double  getHeading  ( );
034    
035         public double  getVelocity ( );
036    
037         //
038    
039         public void   getCollisionBounds ( Rectangle  collisionBounds );
040    
041         public Shape  getCollisionShape  ( );
042    
043         public void   getPaintBounds     ( Rectangle  paintBounds );
044    
045         //////////////////////////////////////////////////////////////////////
046         // mutator methods
047         //////////////////////////////////////////////////////////////////////
048    
049         public void  setX        ( double  x );
050    
051         public void  setY        ( double  y );
052    
053         public void  setZ        ( double  z );
054    
055         public void  setHeading  ( double  heading );
056    
057         public void  setVelocity ( double  velocity );
058    
059         //////////////////////////////////////////////////////////////////////
060         //////////////////////////////////////////////////////////////////////
061         }