public class CollisionCircle extends Circle implements CollisionShape
Circle
that allows for interpolation. Game
objects can use this class to move around the game world and retrieve the
appropriate rendering coordinates after interpolating between the previous
and current position.Constructor and Description |
---|
CollisionCircle(float radius) |
CollisionCircle(float centerX,
float centerY,
float radius) |
CollisionCircle(int id,
float radius) |
CollisionCircle(int id,
float centerX,
float centerY,
float radius) |
Modifier and Type | Method and Description |
---|---|
void |
add(float x,
float y)
Adds components to the position of this
Shape |
<T extends Positionable> |
addPostionChangeListener(PositionChangeListener<T> listener)
Adds a
PositionChangeListener to be notified of coordinate
changes |
<T extends Sizeable> |
addSizeChangeListener(SizeChangeListener<T> listener)
Adds a
SizeChangeListener to be notified of size changes |
void |
draw(Graphics g)
Draws this shape using a
Graphics instance |
void |
fill(Graphics g)
Fills this shape using a
Graphics instance |
void |
forceTo(float x,
float y)
Sets the current x and y coordinate to the specified x and y and force updates the
rendering position to match
|
float |
getDistanceTo(Positionable positionable)
Returns this distance between this object's x,y coordinates and the
provided
Positionable 's xy coordinates |
float |
getHeight()
Returns the height of this object
|
int |
getId()
Returns the unique id of this object
|
float |
getPreviousRadius() |
float |
getPreviousX() |
float |
getPreviousY() |
float |
getRenderRadius() |
int |
getRenderX()
Returns the render x coordinate of this object
|
int |
getRenderY()
Returns the render y coordinate of this object
|
Shape |
getShape()
Returns the underlying
Shape instance |
float |
getWidth()
Returns the width of this object
|
void |
interpolate(GameContainer gc,
float alpha)
Interpolate between the previous and current state
|
void |
moveTowards(float x,
float y,
float speed)
Moves this
Positionable towards a coordinate |
void |
moveTowards(Positionable positionable,
float speed)
Moves this
Positionable towards another Positionable |
void |
preUpdate()
This method needs to be called at the start of each frame
before any changes are made to this object
|
<T extends Positionable> |
removePositionChangeListener(PositionChangeListener<T> listener)
Removes a
PositionChangeListener to stop it being notified of
coordinate changes |
<T extends Sizeable> |
removeSizeChangeListener(SizeChangeListener<T> listener)
Removes a
SizeChangeListener to stop it being notified of size
changes |
void |
scale(float scale)
Scales the radius of this shape.
|
void |
set(float x,
float y)
Sets the x and y coordinate of this object
|
void |
setRadius(float radius)
Sets the radius of this shape.
|
void |
setX(float x)
Sets the x coordinate of this object
|
void |
setY(float y)
Sets the y coordinate of this object
|
void |
subtract(float x,
float y)
Subtracts components from the position of this
Shape |
void |
update(GameContainer gc,
float delta)
Updates the game screen
|
contains, contains, contains, contains, contains, contains, copy, edgeIterator, getBoundingBox, getCenterX, getCenterY, getDistanceFromCenter, getDistanceFromCenter, getDistanceTo, getDistanceTo, getMaxX, getMaxY, getMinX, getMinY, getNumberOfSides, getPolygon, getRadius, getRotation, getX, getY, intersects, intersects, intersects, intersectsLineSegment, intersectsLineSegment, isCircle, lerp, rotate, rotateAround, set, setRotation, setRotationAround, translate
getDistanceTo, intersects
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
contains, contains, intersects, intersects, intersectsLineSegment, intersectsLineSegment
getDistanceTo, getDistanceTo, getX, getY
public CollisionCircle(float radius)
public CollisionCircle(int id, float radius)
public CollisionCircle(float centerX, float centerY, float radius)
public CollisionCircle(int id, float centerX, float centerY, float radius)
public void preUpdate()
CollisionShape
preUpdate
in interface CollisionShape
public void update(GameContainer gc, float delta)
Updatable
update
in interface Updatable
gc
- The GameContainer
of the gamedelta
- The time in seconds since the last updatepublic void interpolate(GameContainer gc, float alpha)
Updatable
interpolate
in interface Updatable
alpha
- The interpolation alpha valuepublic void draw(Graphics g)
Shape
Graphics
instancepublic void fill(Graphics g)
Shape
Graphics
instancepublic float getDistanceTo(Positionable positionable)
Positionable
Positionable
's xy coordinatesgetDistanceTo
in interface Positionable
positionable
- The Positionable
to retrieve the distance frompublic <T extends Positionable> void addPostionChangeListener(PositionChangeListener<T> listener)
Positionable
PositionChangeListener
to be notified of coordinate
changesaddPostionChangeListener
in interface Positionable
listener
- The PositionChangeListener
to addpublic <T extends Positionable> void removePositionChangeListener(PositionChangeListener<T> listener)
Positionable
PositionChangeListener
to stop it being notified of
coordinate changesremovePositionChangeListener
in interface Positionable
listener
- The PositionChangeListener
to removepublic <T extends Sizeable> void addSizeChangeListener(SizeChangeListener<T> listener)
Sizeable
SizeChangeListener
to be notified of size changesaddSizeChangeListener
in interface Sizeable
listener
- The SizeChangeListener
to addpublic <T extends Sizeable> void removeSizeChangeListener(SizeChangeListener<T> listener)
Sizeable
SizeChangeListener
to stop it being notified of size
changesremoveSizeChangeListener
in interface Sizeable
listener
- The SizeChangeListener
to removepublic void forceTo(float x, float y)
CollisionShape
forceTo
in interface CollisionShape
x
- The x coordinate to sety
- The y coordinate to setpublic void moveTowards(float x, float y, float speed)
Positionable
Positionable
towards a coordinatemoveTowards
in interface Positionable
x
- The target x coordinatey
- The target y coordinatespeed
- The amount to move bypublic void moveTowards(Positionable positionable, float speed)
Positionable
Positionable
towards another Positionable
moveTowards
in interface Positionable
positionable
- The target Positionable
speed
- The amount to move bypublic void add(float x, float y)
Shape
Shape
public void subtract(float x, float y)
Shape
Shape
public void setX(float x)
Shape
setX
in interface Positionable
setX
in class Circle
x
- The x coordinatepublic void setY(float y)
Shape
setY
in interface Positionable
setY
in class Circle
y
- The y coordinatepublic void set(float x, float y)
Shape
public void setRadius(float radius)
Shape
public void scale(float scale)
Shape
public int getRenderX()
Positionable
getRenderX
in interface Positionable
public int getRenderY()
Positionable
getRenderY
in interface Positionable
public float getRenderRadius()
public float getPreviousX()
public float getPreviousY()
public float getPreviousRadius()
public int getId()
Positionable
getId
in interface Positionable
getId
in interface Sizeable
public float getWidth()
Sizeable
public float getHeight()
Sizeable
public Shape getShape()
CollisionShape
Shape
instancegetShape
in interface CollisionShape