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 }