mirror of
https://github.com/godotengine/godot-docs.git
synced 2026-01-03 05:48:42 +03:00
improve description of enums
This commit is contained in:
@@ -908,26 +908,38 @@ Enums
|
||||
Enums are basically a shorthand for constants, and are pretty useful if you
|
||||
want to assign consecutive integers to some constant.
|
||||
|
||||
If you pass a name to the enum, it will put all the keys inside a constant
|
||||
dictionary of that name.
|
||||
|
||||
.. important:: In Godot 3.1 and later, keys in a named enum are not registered
|
||||
as global constants. They should be accessed prefixed by the
|
||||
enum's name (``Name.KEY``); see an example below.
|
||||
|
||||
::
|
||||
|
||||
enum {TILE_BRICK, TILE_FLOOR, TILE_SPIKE, TILE_TELEPORT}
|
||||
|
||||
# Is the same as:
|
||||
const TILE_BRICK = 0
|
||||
const TILE_FLOOR = 1
|
||||
const TILE_SPIKE = 2
|
||||
const TILE_TELEPORT = 3
|
||||
|
||||
|
||||
If you pass a name to the enum, it will put all the keys inside a constant
|
||||
:ref:`Dictionary <class_Dictionary>` of that name. This means all constant methods of
|
||||
a dictionary can also be used with a named enum.
|
||||
|
||||
.. important:: Keys in a named enum are not registered
|
||||
as global constants. They should be accessed prefixed
|
||||
by the enum's name (``Name.KEY``).
|
||||
|
||||
::
|
||||
|
||||
enum State {STATE_IDLE, STATE_JUMP = 5, STATE_SHOOT}
|
||||
|
||||
# Is the same as:
|
||||
const State = {STATE_IDLE = 0, STATE_JUMP = 5, STATE_SHOOT = 6}
|
||||
# Access values with State.STATE_IDLE, etc.
|
||||
|
||||
func _ready():
|
||||
# Access values with Name.KEY, prints '5'
|
||||
print(State.STATE_JUMP)
|
||||
# Use constant dictionary functions
|
||||
# prints '["STATE_IDLE", "STATE_JUMP", "STATE_SHOOT"]'
|
||||
print(State.keys())
|
||||
|
||||
|
||||
Functions
|
||||
|
||||
Reference in New Issue
Block a user