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="http://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 }