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

    Nested classes/interfaces inherited from class java.lang.Enum

    java.lang.Enum.EnumDesc<E extends java.lang.Enum<E>>
  • Enum Constant Summary

    Enum Constants 
    Enum ConstantDescription
    DOWN 
    LEFT 
    RIGHT 
    UNDEFINED 
    UP 
  • Method Summary

    Modifier and TypeMethodDescription
    static DirectionfromAngle​(double angle)
    Gets a direction corresponding to the specified angle.
    static DirectionfromFlagValue​(byte flagValue)
    Get a value of this enumeration that corresponds to the specified flagValue.
    DirectiongetOpposite()
    Get the opposite value of this direction.
    floattoAngle()
    Converts this direction to the median angle of the range that is described by this direction.
    bytetoFlagValue()
    Gets a flag value that can be used to exchange the information of this enum value in an size-optimized manner (e.g.
    static DirectionvalueOf​(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.

    Methods inherited from class java.lang.Enum

    clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

  • Method Details

    • values

      public static Direction[] 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

      public static Direction valueOf​(java.lang.String name)
      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 name
      java.lang.NullPointerException - if the argument is null
    • fromAngle

      public static Direction fromAngle​(double angle)
      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

      public static Direction fromFlagValue​(byte flagValue)
      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

      public Direction 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.