Package de.gurkenlabs.litiengine
Enum Direction
java.lang.Object
java.lang.Enum<Direction>
de.gurkenlabs.litiengine.Direction
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<Direction>
,java.lang.constant.Constable
public enum Direction
extends java.lang.Enum<Direction>
This enum defines the four dimensional directions in 2D space.
It can provide a simplified way to look at a rotation or angle which is particularly useful in tile based games.
Directions can be converted to or constructed from angles (specified in degrees).
The directions also specify a flag that can be used to exchange the information in an size-optimized manner (e.g. for network communication).
- See Also:
toFlagValue()
Nested Class Summary
Enum Constant Summary
Method Summary
Modifier and Type Method Description static Direction
fromAngle(double angle)
Gets a direction corresponding to the specified angle.static Direction
fromFlagValue(byte flagValue)
Get a value of this enumeration that corresponds to the specified flagValue.Direction
getOpposite()
Get the opposite value of this direction.float
toAngle()
Converts this direction to the median angle of the range that is described by this direction.byte
toFlagValue()
Gets a flag value that can be used to exchange the information of this enum value in an size-optimized manner (e.g.static Direction
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static Direction[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
Enum Constant Details
Method Details
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
fromAngle
Gets a direction corresponding to the specified angle. Every direction translates to 1/4th (90°) of a full circle.o 180 o DOWN = [0-45[ & [315-360] o o o o RIGHT = [45-135[ 270 90 o o UP = [135-225[ o o o 0 o LEFT = [225-315[
- Parameters:
angle
- The angle by which the direction will be determined.- Returns:
- The direction that corresponds to the specified angle.
fromFlagValue
Get a value of this enumeration that corresponds to the specified flagValue.- Parameters:
flagValue
- The flag value to convert to a direction.- Returns:
- A direction that corresponds to the specified flag value or
UNDEFINED
.
getOpposite
Get the opposite value of this direction.UP - DOWN LEFT - RIGHT
- Returns:
- The opposite direction.
toAngle
public float toAngle()Converts this direction to the median angle of the range that is described by this direction.e.g. UP 180
- Returns:
- The mean angle of this direction.
toFlagValue
public byte toFlagValue()Gets a flag value that can be used to exchange the information of this enum value in an size-optimized manner (e.g. for network communication).- Returns:
- The immutable flag value that is assigned to this direction.