AI for Games 1.1.1
|
Public Member Functions | |
Wall (Vector2D start, Vector2D end, boolean visible) | |
Wall (String name, Vector2D start, Vector2D end, boolean visible) | |
Vector2D | getStartPos () |
Vector2D | getEndPos () |
Vector2D | norm () |
boolean | isEitherSide (double x0, double y0, double x1, double y1) |
boolean | isInDomain (Domain view) |
boolean | isOver (double px, double py) |
![]() | |
BaseEntity () | |
BaseEntity (String name) | |
BaseEntity (String entityName, Vector2D entityPos, double entityColRadius) | |
int | ID () |
void | updateFSM (double deltaTime, World world) |
FiniteStateMachine | FSM () |
boolean | hasFSM () |
void | addFSM () |
boolean | removeFSM () |
int | Z () |
BaseEntity | Z (int z) |
boolean | isVisible () |
BaseEntity | visible (boolean visible) |
double | colRadius () |
BaseEntity | colRadius (double colRadius) |
boolean | isOverLapAllowed () |
BaseEntity | overLapAllowed (boolean overLapAllowed) |
boolean | isInDomain (Domain view) |
boolean | isOver (double px, double py) |
BaseEntity | renderer (Picture renderer) |
Picture | renderer () |
void | die (World world, double timeToLive) |
void | born (World world, double timeToLive) |
BaseEntity | moveTo (double x, double y) |
BaseEntity | moveTo (Vector2D p) |
BaseEntity | moveBy (double x, double y) |
BaseEntity | moveBy (Vector2D p) |
Vector2D | pos () |
BaseEntity | name (String name) |
String | name () |
boolean | isEitherSide (double x0, double y0, double x1, double y1) |
boolean | isEitherSide (Vector2D p0, Vector2D p1) |
void | update (double deltaTime, World world) |
void | draw (World world) |
void | draw (double elapsedTime, World world) |
int | compareTo (BaseEntity o) |
String | toString () |
Package Attributes | |
Vector2D | end = new Vector2D() |
Vector2D | wallNorm |
![]() | |
boolean | overlapAllowed = false |
Additional Inherited Members | |
![]() | |
String | tag = "" |
int | tagNo = 0 |
![]() | |
Integer | entityID |
String | name = "" |
Picture | renderer = null |
boolean | visible = true |
Vector2D | pos = new Vector2D() |
double | colRadius |
This class represents a wall.
A wall is used to constrain the movement of Vehicle entities that are using 'wall avoidance' in their steering behaviour. A vehicle will not pass through a wall from the 'outside' but will pass through from the inside (i.e. a one-way wall!).
If you image the wall to be the radius of a circle with the wall start position at the centre and the end position on the circumference, then the clockwise side is considered to be the 'outside' and the anti-clockwise side the 'inside'. So be careful which way you define the wall end-points.
Create a wall.
start | wall start position. |
end | wall end position |
visible | whether the wall is visible |
Create a 'named' wall.
name | the name you want to give this entity |
start | wall start position. |
end | wall end position |
visible | whether the wall is visible |
Vector2D game2dai.entities.Wall.getEndPos | ( | ) |
Get the world end position
Vector2D game2dai.entities.Wall.getStartPos | ( | ) |
Get the wall start position
boolean game2dai.entities.Wall.isEitherSide | ( | double | x0, |
double | y0, | ||
double | x1, | ||
double | y1 | ||
) |
Determines whether the two points given are 'either side of the object' if true then the two positions are not visible to each other.
x0 | first point x position |
y0 | first point y position |
x1 | second point x position |
y1 | second point y position |
Reimplemented from game2dai.entities.BaseEntity.
boolean game2dai.entities.Wall.isInDomain | ( | Domain | view | ) |
Determine whether this entity is inside or part inside the domain. This method is used by the world draw method to see if this entity should be drawn.
view | the world domain |
Reimplemented from game2dai.entities.BaseEntity.
boolean game2dai.entities.Wall.isOver | ( | double | px, |
double | py | ||
) |
Since the wall is considered to have no thickness then the world point cannot be over the wall. So this always returns false;
Reimplemented from game2dai.entities.BaseEntity.
Vector2D game2dai.entities.Wall.norm | ( | ) |
Get the wall normal - it will point 'outside'