game/godot

Godot3 API - Input

C/H 2018. 11. 2. 08:30

Input

Inherits: Object

Inherited By: InputDefault

Category: Core

Brief Description

A Singleton that deals with inputs.
입력을 다루는 싱글 톤.

Member Functions

void action_press ( String action )
void action_release ( String action )
void add_joy_mapping ( String mapping, bool update_existing=false )
Vector3 get_accelerometer ( ) const
Array get_connected_joypads ( )
Vector3 get_gravity ( ) const
Vector3 get_gyroscope ( ) const
float get_joy_axis ( int device, int axis ) const
int get_joy_axis_index_from_string ( String axis )
String get_joy_axis_string ( int axis_index )
int get_joy_button_index_from_string ( String button )
String get_joy_button_string ( int button_index )
String get_joy_guid ( int device ) const
String get_joy_name ( int device )
float get_joy_vibration_duration ( int device )
Vector2 get_joy_vibration_strength ( int device )
Vector2 get_last_mouse_speed ( ) const
Vector3 get_magnetometer ( ) const
int get_mouse_button_mask ( ) const
int get_mouse_mode ( ) const
bool is_action_just_pressed ( String action ) const
bool is_action_just_released ( String action ) const
bool is_action_pressed ( String action ) const
bool is_joy_button_pressed ( int device, int button ) const
bool is_joy_known ( int device )
bool is_key_pressed ( int scancode ) const
bool is_mouse_button_pressed ( int button ) const
void joy_connection_changed ( int device, bool connected, String name, String guid )
void parse_input_event ( InputEvent event )
void remove_joy_mapping ( String guid )
void set_custom_mouse_cursor ( Resource image, int shape=0, Vector2 hotspot=Vector2( 0, 0 ) )
void set_mouse_mode ( int mode )
void start_joy_vibration ( int device, float weak_magnitude, float strong_magnitude, float duration=0 )
void stop_joy_vibration ( int device )
void warp_mouse_position ( Vector2 to )

Signals

  • joy_connection_changed ( int index, bool connected )

Emitted when a joypad device has been connected or disconnected.
조이패드 장치가 연결되거나 분리되었을 때 발생합니다.

Enums

enum MouseMode

MOUSE_MODE_VISIBLE = 0
— Makes the mouse cursor visible if it is hidden.
숨겨진 경우 마우스 커서를 표시합니다.
MOUSE_MODE_HIDDEN = 1
— Makes the mouse cursor hidden if it is visible.
보이는 경우 마우스 커서를 숨 깁니다.
MOUSE_MODE_CAPTURED = 2
— Captures the mouse. The mouse will be hidden and unable to leave the game window. But it will still register movement and mouse button presses.
마우스를 캡처합니다. 마우스가 숨겨져 게임 창을 빠져 나갈 수 없습니다. 그러나 여전히 이동 및 마우스 버튼 누름이 등록됩니다.
MOUSE_MODE_CONFINED = 3
— Makes the mouse cursor visible but confines it to the game window.
마우스 커서를 보이게하지만 게임 창으로 제한합니다.

enum CursorShape

CURSOR_ARROW = 0
— Arrow cursor. Standard, default pointing cursor.
화살표 커서. 표준, 기본 포인팅 커서.
CURSOR_IBEAM = 1
— I-beam cursor. Usually used to show where the text cursor will appear when the mouse is clicked.
I-빔 커서. 일반적으로 마우스를 클릭 할 때 텍스트 커서가 나타나는 위치를 표시하는 데 사용됩니다.
CURSOR_POINTING_HAND = 2
— Pointing hand cursor. Usually used to indicate the pointer is over a link or other interactable item.
가리키는 손 커서. 일반적으로 포인터가 링크 또는 상호 작용 가능한 다른 항목 위에 있음을 나타내는 데 사용됩니다.
CURSOR_CROSS = 3
— Cross cursor. Typically appears over regions in which a drawing operation can be performance or for selections.
십자 커서. 일반적으로 드로잉 작업이 성능 또는 선택 항목이 될 수있는 영역 위에 나타납니다.
CURSOR_WAIT = 4
— Wait cursor. Indicates that the application is busy performing an operation.
커서를 기다립니다. 응용 프로그램이 작업을 수행하는 중임을 나타냅니다.
CURSOR_BUSY = 5
— Busy cursor. See CURSOR_WAIT.
바쁜 커서. CURSOR_WAIT를 참조하십시오.
CURSOR_DRAG = 6
— Drag cursor. Usually displayed when dragging something.
커서를 끕니다. 일반적으로 드래그 할 때 표시됩니다.
CURSOR_CAN_DROP = 7
— Can drop cursor. Usually displayed when dragging something to indicate that it can be dropped at the current position.
커서를 놓을 수 있습니다. 일반적으로 현재 위치에서 놓을 수 있음을 나타 내기 위해 무언가를 끌 때 표시됩니다.
CURSOR_FORBIDDEN = 8
— Forbidden cursor. Indicates that the current action is forbidden (for example, when dragging something) or that the control at a position is disabled.
금지 된 커서. 현재 동작이 금지되어 있거나 (예를 들어 무언가를 끌 때) 현재 위치의 컨트롤이 비활성화되어 있음을 나타냅니다.
CURSOR_VSIZE = 9
— Vertical resize mouse cursor. A double headed vertical arrow. It tells the user they can resize the window or the panel vertically.
세로 크기 조정 마우스 커서. 양방향의 수직 화살표. 창이나 패널의 크기를 세로로 조정할 수 있음을 사용자에게 알려줍니다.
CURSOR_HSIZE = 10
— Horizontal resize mouse cursor. A double headed horizontal arrow. It tells the user they can resize the window or the panel horizontally.
가로 크기 조정 마우스 커서. 양방향 수평 화살표. 사용자에게 창이나 패널의 가로 크기를 조정할 수 있음을 알려줍니다.
CURSOR_BDIAGSIZE = 11
— Window resize mouse cursor. The cursor is a double headed arrow that goes from the bottom left to the top right. It tells the user they can resize the window or the panel both horizontally and vertically.
창 크기 조정 마우스 커서. 커서는 왼쪽 아래에서 오른쪽 상단으로가는 양방향 화살표입니다. 사용자에게 창 또는 패널의 크기를 가로 및 세로로 조정할 수 있음을 알려줍니다.
CURSOR_FDIAGSIZE = 12
— Window resize mouse cursor. The cursor is a double headed arrow that goes from the top left to the bottom right, the opposite of CURSOR_BDIAGSIZE. It tells the user they can resize the window or the panel both horizontally and vertically.
창 크기 조정 마우스 커서. 커서는 CURSOR_BDIAGSIZE의 반대쪽 상단 왼쪽에서 오른쪽 하단으로가는 양방향 화살표입니다. 사용자에게 창 또는 패널의 크기를 가로 및 세로로 조정할 수 있음을 알려줍니다.
CURSOR_MOVE = 13
— Move cursor. Indicates that something can be moved.
커서를 이동하십시오. 무언가를 옮길 수 있음을 나타냅니다.
CURSOR_VSPLIT = 14
— Vertical split mouse cursor. On Windows, it’s the same as CURSOR_VSIZE.
수직 분할 마우스 커서. Windows의 경우 CURSOR_VSIZE와 같습니다.
CURSOR_HSPLIT = 15
— Horizontal split mouse cursor. On Windows, it’s the same as CURSOR_HSIZE.
가로 분할 마우스 커서입니다. Windows에서는 CURSOR_HSIZE와 같습니다.
CURSOR_HELP = 16
— Help cursor. Usually a question mark.
도움말 커서. 보통 물음표.

Description

A Singleton that deals with inputs. This includes key presses, mouse buttons and movement, joypads, and input actions. Actions and their events can be set in the Project Settings / Input Map tab. Or be set with InputMap.
입력을 다루는 싱글 톤. 여기에는 키 누름, 마우스 버튼 및 이동, 조이패드 및 입력 작업이 포함됩니다. 작업 및 해당 이벤트는 프로젝트 설정 / 입력 맵 탭에서 설정할 수 있습니다. 또는 InputMap으로 설정하십시오.

Member Function Description

  • void action_press ( String action )

    This will simulate pressing the specified action.
    지정한 동작을 시뮬레이션합니다.

  • void action_release ( String action )

    If the specified action is already pressed, this will release it.
    지정된 작업을 이미 누른 경우, 이를 해제합니다.

  • void add_joy_mapping ( String mapping, bool update_existing=false )

    Add a new mapping entry (in SDL2 format) to the mapping database. Optionally update already connected devices.
    새 매핑 항목( SDL2 형식 )을 매핑 데이터베이스에 추가합니다. 선택적으로 이미 연결된 장치를 업데이트하십시오.

  • Vector3 get_accelerometer ( ) const

    If the device has an accelerometer, this will return the acceleration. Otherwise, it returns an empty Vector3.
    장치에 가속도계가 있으면 가속을 반환합니다. 그렇지 않으면 빈 Vector3을 반환합니다.

  • Array get_connected_joypads ( )

    Returns an Array containing the device IDs of all currently connected joypads.
    현재 연결된 모든 조이패드의 장치 ID가 들어있는 Array를 반환합니다.

  • Vector3 get_gravity ( ) const

    If the device has an accelerometer, this will return the gravity. Otherwise, it returns an empty Vector3.
    장치에 가속도계가 있으면 중력을 반환합니다. 그렇지 않으면 빈 Vector3을 반환합니다.

  • Vector3 get_gyroscope ( ) const

    If the device has a gyroscope, this will return the rate of rotation in rad/s around a device’s x, y, and z axis. Otherwise, it returns an empty Vector3.
    장치에 자이로 스코프가 있으면 장치의 x, y 및 z 축을 중심으로 rad/s 단위로 회전 속도가 반환됩니다. 그렇지 않으면 빈 Vector3을 반환합니다.

  • float get_joy_axis ( int device, int axis ) const

    Returns the current value of the joypad axis at given index (see JOY_* constants in @GlobalScope)
    주어진 인덱스에서 조이패드 축의 현재 값을 반환합니다 (@GlobalScope의 JOY_* 상수 참조).

  • int get_joy_axis_index_from_string ( String axis )
  • String get_joy_axis_string ( int axis_index )
  • int get_joy_button_index_from_string ( String button )
  • String get_joy_button_string ( int button_index )
  • String get_joy_guid ( int device ) const

    Returns a SDL2 compatible device guid on platforms that use gamepad remapping. Returns “Default Gamepad” otherwise.
    게임 패드 재 매핑을 사용하는 플랫폼에서 SDL2 호환 장치 GUID를 반환합니다. 그렇지 않으면 "기본 게임 패드"를 반환합니다.

  • String get_joy_name ( int device )

    Returns the name of the joypad at the specified device index
    지정된 장치 색인에서 조이패드의 이름을 반환합니다.

  • float get_joy_vibration_duration ( int device )

    Returns the duration of the current vibration effect in seconds.
    현재 진동 효과의 지속 시간을 초 단위로 반환합니다.

  • Vector2 get_joy_vibration_strength ( int device )

    Returns the strength of the joypad vibration: x is the strength of the weak motor, and y is the strength of the strong motor.
    조이패드 진동의 강도를 반환합니다. x는 약한 모터의 강도이고, y는 강한 모터의 강도입니다.

  • Vector2 get_last_mouse_speed ( ) const

    Returns the mouse speed for the last time the cursor was moved, and this until the next frame where the mouse moves. This means that even if the mouse is not moving, this function will still return the value of the last motion.
    마지막으로 커서가 이동 한 시간과 마우스가 움직이는 다음 프레임까지의 마우스 속도를 반환합니다. 즉, 마우스가 움직이지 않더라도이 함수는 마지막 모션의 값을 반환합니다

  • Vector3 get_magnetometer ( ) const

    If the device has a magnetometer, this will return the magnetic field strength in micro-Tesla for all axes.
    장치에 자력계가 있으면 모든 축에 대해 자기장 강도를 마이크로 테슬라로 반환합니다.

  • int get_mouse_button_mask ( ) const

    Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at the same time the bits are added together.
    마우스 버튼을 비트 마스크로 반환합니다. 여러 마우스 버튼을 동시에 누르면 비트가 함께 추가됩니다.

  • int get_mouse_mode ( ) const

    Return the mouse mode. See the constants for more information.
    마우스 모드를 리턴합니다. 자세한 내용은 상수를 참조하십시오.

  • bool is_action_just_pressed ( String action ) const

    Returns true when the user starts pressing the action event, meaning it’s true only on the frame that the user pressed down the button.
    사용자가 액션 이벤트를 시작하면 true를 반환합니다. 즉, 사용자가 버튼을 눌렀을 때만 true입니다.

    This is useful for code that needs to run only once when an action is pressed, instead of every frame while it’s pressed.
    이 기능은 눌렀을 때 모든 프레임 대신 작업을 눌렀을 때 한 번만 실행해야하는 코드에 유용합니다.

  • bool is_action_just_released ( String action ) const

    Returns true when the user stops pressing the action event, meaning it’s true only on the frame that the user released the button.
    사용자가 액션 이벤트를 중지하면 true를 반환합니다. 즉, 사용자가 버튼을 놓은 프레임에서만 true입니다.

  • bool is_action_pressed ( String action ) const

    Returns true if you are pressing the action event.
    액션 이벤트를 누르면 true를 반환합니다.

  • bool is_joy_button_pressed ( int device, int button ) const

    Returns true if you are pressing the joypad button. (see JOY_* constants in @GlobalScope)
    조이패드 버튼을 누르면 true를 반환합니다. (@GlobalScope의 JOY_ * 상수 참조)

  • bool is_joy_known ( int device )

    Returns true if the system knows the specified device. This means that it sets all button and axis indices exactly as defined in the JOY_* constants (see @GlobalScope). Unknown joypads are not expected to match these constants, but you can still retrieve events from them.
    시스템이 지정된 장치를 아는 경우 true를 리턴합니다. 즉, 모든 버튼 및 축 인덱스를 JOY_ * 상수에 정의 된대로 정확하게 설정합니다 (@GlobalScope 참조). 알 수없는 조이패드는이 상수와 일치 할 것으로 예상되지 않지만 여전히 해당 이벤트를 검색 할 수 있습니다.

  • bool is_key_pressed ( int scancode ) const

    Returns true if you are pressing the key. You can pass KEY_*, which are pre-defined constants listed in @GlobalScope.
    키를 누르면 true를 반환합니다. @GlobalScope에 나열된 미리 정의 된 상수 인 KEY_ *를 전달할 수 있습니다.

  • bool is_mouse_button_pressed ( int button ) const

    Returns true if you are pressing the mouse button. You can pass BUTTON_*, which are pre-defined constants listed in @GlobalScope.
    마우스 버튼을 누르면 true를 반환합니다. @GlobalScope에 나열된 미리 정의 된 상수 인 BUTTON_ *을 전달할 수 있습니다.

  • void joy_connection_changed ( int device, bool connected, String name, String guid )
  • void parse_input_event ( InputEvent event )

    Feeds an InputEvent to the game. Can be used to artificially trigger input events from code.
    InputEvent를 게임에 공급합니다. 기음 코드에서 입력 이벤트를 인위적으로 트리거하는 데 사용됩니다.

  • void remove_joy_mapping ( String guid )

    Removes all mappings from the internal db that match the given uid.
    주어진 uid와 일치하는 내부 db에서 모든 매핑을 제거합니다.

  • void set_custom_mouse_cursor ( Resource image, int shape=0, Vector2 hotspot=Vector2( 0, 0 ) )

    Set a custom mouse cursor image, which is only visible inside the game window. The hotspot can also be specified. See enum CURSOR_* for the list of shapes.
    게임 창의 내부에서만 볼 수있는 사용자 정의 마우스 커서 이미지를 설정하십시오. 핫스팟도 지정할 수 있습니다. 모양 목록은 enum CURSOR_*를 참조하십시오.

  • void set_mouse_mode ( int mode )

    Set the mouse mode. See the constants for more information.
    마우스 모드를 설정하십시오. 자세한 내용은 상수를 참조하십시오.

  • void start_joy_vibration ( int device, float weak_magnitude, float strong_magnitude, float duration=0 )

    Starts to vibrate the joypad. Joypads usually come with two rumble motors, a strong and a weak one. weak_magnitude is the strength of the weak motor (between 0 and 1) and strong_magnitude is the strength of the strong motor (between 0 and 1). duration is the duration of the effect in seconds (a duration of 0 will try to play the vibration indefinitely).
    조이패드를 진동시키기 시작합니다. 조이패드에는 대개 약 두 개의 럼블 모터가 있습니다. weak_magnitude는 약한 모터의 강도 (0과 1 사이)이고 strong_magnitude는 강력한 모터의 강도입니다 (0과 1 사이). duration은 초 단위의 효과 지속 시간입니다 (0의 지속 시간은 진동을 무기한 재생하려고 시도합니다).

    Note that not every hardware is compatible with long effect durations, it is recommended to restart an effect if in need to play it for more than a few seconds.
    모든 하드웨어가 긴 효과 지속 시간과 호환되는 것은 아니므로 몇 초 이상 재생해야하는 경우 효과를 다시 시작하는 것이 좋습니다.

  • void stop_joy_vibration ( int device )

    Stops the vibration of the joypad.
    조이패드의 진동을 멈 춥니 다.

  • void warp_mouse_position ( Vector2 to )

    Sets the mouse position to the specified vector.
    마우스 위치를 지정된 벡터로 설정합니다.


반응형

'game > godot' 카테고리의 다른 글

Godot3 API - Ray-casting  (0) 2018.11.05
Godot3 API - InputDefault  (0) 2018.11.02
Godot3 API - Customizing mouse cursor  (0) 2018.11.01
Godot3 API - Mouse and input coordinates  (0) 2018.10.30
Godot3 API - InputEvent  (0) 2018.10.29