SimulatedTouchPanel1 - stingray.SimulatedTouchPanel1 네임스페이스 참조 - Stingray Lua API 참조

stingray.SimulatedTouchPanel1 네임스페이스 참조

설명

Windows 플랫폼에서만 사용 가능한 마우스 시뮬레이션 터치 패널을 나타냅니다.

이 컨트롤러로부터 값을 읽어 오려면 [set_enabled()]를 호출하거나 Input/Touch/Set Simulated Touch Enabled 흐름 노드를 트리거하여 런타임 시 게임에서 해당 기능을 활성화해야 합니다.

활성화하면 시뮬레이션된 터치 패널이 마우스 입력에 다음과 같이 응답합니다.

  • 왼쪽 마우스 버튼을 누르면 현재 커서 위치에 시뮬레이션된 접점이 생성되고, 버튼을 놓을 때까지 동일한 ID로 활성 상태를 유지하면서 커서를 따라다닙니다.

  • 왼쪽 버튼을 누른 상태에서 오른쪽 마우스 버튼을 누르면 "고스트" 접점이 생성됩니다. 이 고스트 접점의 위치는 오른쪽 마우스 버튼을 처음 누른 좌표를 기준으로 기본 접점의 위치를 반사하여 결정됩니다. 따라서 처음에는 두 접점이 같은 위치에 존재하게 됩니다. 최초 위치에서 벗어나 마우스 포인터를 움직이면 고스트 접점의 위치가 기본 접점의 위치로부터 반대 방향으로 멀어집니다.

  • 가운데 마우스 버튼 및/또는 두 번째 추가 마우스 버튼(있는 경우)을 누르면 back 버튼으로부터 가져올 수 있는 값이 기록됩니다.

  • 왼쪽 버튼을 누른 상태에서 첫 번째 추가 버튼을 누르면 현재 터치 위치를 기준으로 옆으로 기울기가 시뮬레이션되고, 이 기울기는 accelerometer 축으로부터 가져올 수 있습니다.

버튼 이름

  • back

축 이름

  • accelerometer

버튼 및 축으로부터 값 가져오기

모든 유형의 입력 제어기에는 이름이 정해진 버튼 및 "축" 세트가 내장되어 있어, 사용자가 다양한 방식으로 제어기에게 입력을 제공할 수 있습니다.

  • 각 버튼은 지정된 프레임 내에서 누르거나 놓을 수 있습니다. 이러한 이벤트는 pressed()released()를 호출하여 감지할 수 있습니다. 제어기는 해당 버튼에 대해 0에서 1 사이의 값을 생성하기도 하는데, 이 값은 button()을 호출하여 검색할 수 있습니다.
  • 각 축은 Vector3 값을 생성할 수 있습니다. 경우에 따라 이 값은 표준화되기도 합니다. 보통 플레이어가 엄지스틱을 미는 방향과 같은 일부 유형의 배율에 따라 축이 나타내는 값이 변하는 경우 표준화됩니다. 예를 들어, 게임 패드의 엄지스틱을 왼쪽으로 완전히 밀거나(1,0,0), 위로 완전히 밀거나(0,1,0), 왼쪽 대각선 위로 미는(0.707107, 0.707107, 0) 경우 등이 있을 수 있습니다. 아니면, 때로는 축이 3D 공간 또는 2D 화면 공간에서 좌표 값을 생성하기도 합니다.

키보드 버튼 k가 눌렸는지 확인하려면 다음 함수를 사용하면 됩니다.

local k_key_id = stingray.Keyboard.button_id("k")      -- retrieve the button ID
local isPressed = stingray.Keyboard.button(k_key_id)   -- use the ID to access the value

마찬가지로, 2D 화면 공간에서 Windows 마우스 커서의 현재 위치를 확인하려면 다음 함수를 사용하면 됩니다.

local cursor_axis_id = stingray.Mouse.axis_id("cursor")    -- retrieve the axis ID
local value = stingray.Mouse.axis(cursor_axis_id)          -- use the ID to access to value

또는, 플레이어가 게임 패드의 오른쪽 엄지스틱을 어느 방향으로 미는지 확인하려면 다음 함수를 사용하면 됩니다.

local right_axis_id = stingray.Pad1.axis_id("right")
local value = stingray.Pad1.axis(right_axis_id)

모든 버튼 및 축 이름 가져오기

쿼리할 수 있는 버튼 및 축 이름은 제어기 종류마다 다르고, 플랫폼에 따라서도 다를 수 있습니다. 장치에 사용할 수 있는 버튼을 확인해야 하는 경우에는 편집기 상태 막대 또는 게임 프로젝트에서 다음 코드 조각을 실행하여 최신 목록을 검색하면 됩니다. 값을 확인하려는 컨트롤러 이름으로 Mouse를 대체하십시오.

터치 접점에서 값 가져오기

모든 유형의 컨트롤러에서 제공하는 버튼 및 축 외에 터치 패널에는 플레이어가 화면을 터치하는 위치를 나타내는 "접점" 세트가 있습니다. 이 접점은 contacts()를 호출하여 검색할 수 있는 숫자 ID로 식별됩니다. 이 ID를 아래의 접점에 나열된 다른 함수들로 전달해 각 접점에 관한 세부 정보를 쿼리할 수 있습니다.

터치 인터페이스 위치 값은 픽셀 단위로 측정되는 화면 공간 좌표로 제공됩니다.

예를 들면, location()을 호출하여 접점 위치의 (X,Y) 화면 좌표를 가져올 수 있습니다.

local contacts = {stingray.TouchPanel1.contacts()} -- the {} puts the return values into a table
for _, id in ipairs(contacts) do
    if stingray.TouchPanel1.is_touch_down(id) then       -- when the screen is touched
        local pos = stingray.TouchPanel1.location(id)    -- get the position
    end
end

함수

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

stingray.Vector3

컨트롤러의 가속도계 해상도입니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

boolean

컨트롤러가 활성 상태이면 true를, 그렇지 않으면 false를 반환합니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

boolean

컨트롤러가 이 프레임에 연결되었으면 true를, 그렇지 않으면 false를 반환합니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

boolean

컨트롤러가 이 프레임에서 분리되었으면 true를, 그렇지 않으면 false를 반환합니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

string

컨트롤러의 고유한 이름을 포함하고 있는 문자열입니다.

대부분의 경우 이 이름은 type()에 의해 반환된 문자열에 추가 카운터가 붙어서 변형된 문자열입니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

string

컨트롤러 장치의 유형을 설명하는 문자열입니다.

일부 예외는 있지만 이 식별자는 동일 모델의 모든 제어기에서 같습니다(예: xbox_controller, logitech_mx518_mouse 또는 generic_105_key_keyboard). 일부 플랫폼에서는 이 값이 입력 장치 모델에 관계없이 같을 수도 있습니다.

버튼 및 축

이 그룹의 함수는 이 컨트롤러가 추적하는 버튼 및 축으로부터 값을 가져옵니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

integer?

플레이어가 이 프레임에서 누른 첫 번째 버튼의 ID를 반환하거나, 아무 버튼도 누르지 않은 경우에는 nil을 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

그런 경우에는 플레이어가 누른 첫 번째 버튼의 ID를 반환합니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

integer?

플레이어가 이 프레임에서 놓은 첫 번째 버튼의 ID를 반환하거나, 아무 버튼도 놓지 않은 경우에는 nil을 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

그런 경우에는 플레이어가 놓은 첫 번째 버튼의 ID를 반환합니다.

매개변수

id :

integer

값을 검색할 축의 ID입니다.

dead_zone_mode :

integer?

컨트롤러로부터 읽어 온 값을 반환하기 전에 적용할 데드 존 유형을 지정합니다. 이 값은 dead zone mode 상수 중 어느 값이든 될 수 있습니다. 이 매개변수를 지정하는 경우 dead_zone_size 역시 지정해야 합니다. 이를 생략하는 경우 [InputController.set_dead_zone()]을 사용하여 설정한 기본 데드 존 값이 사용됩니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

dead_zone_size :

number?

컨트롤러로부터 읽어 온 값에 적용할 데드 존 크기입니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.
반환하는 항목

stingray.Vector3

지정된 ID를 가지는 축에 대한 컨트롤러의 입력 값입니다.

데드 존 구성 컨트롤은 비-터치식 인터페이스에만 사용할 수 있습니다.

매개변수

name :

string

ID를 검색하려는 축의 이름입니다.

반환하는 항목

integer

축의 ID를 반환하거나, 이름이 일치하는 축이 없으면 nil을 반환합니다.

매개변수

id :

integer

이름을 검색하려는 축의 ID입니다.

반환하는 항목

string

축의 이름입니다.

매개변수

id :

integer

값을 검색하려는 버튼의 ID입니다.

반환하는 항목

number

0에서 1 사이의 값으로 표현되는 버튼의 현재 값입니다.

매개변수

name :

string

ID를 검색하려는 버튼의 이름입니다.

반환하는 항목

integer

버튼의 ID를 반환하거나, 이름이 일치하는 버튼이 없으면 nil을 반환합니다.

매개변수

id :

integer

이름을 검색하려는 버튼의 ID입니다.

반환하는 항목

string

버튼의 이름이거나, ID가 일치하는 버튼을 찾을 수 없는 경우 빈 문자열입니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

integer

컨트롤러에 있는 축의 수입니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

integer

컨트롤러에 있는 버튼의 수입니다.

매개변수

id :

integer

테스트하려는 버튼의 ID입니다.

반환하는 항목

boolean

플레이어가 이 프레임 중에 버튼을 눌렀으면 true를, 그렇지 않으면 false를 반환합니다.

매개변수

id :

integer

테스트하려는 버튼의 ID입니다.

반환하는 항목

boolean

플레이어가 이 프레임 중에 버튼을 놓았으면 true를, 그렇지 않으면 false를 반환합니다.

접점

이 그룹의 함수는 터치 컨트롤러로부터 손가락 터치 데이터를 가져오는 데 사용됩니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

integer*

모든 현재 접점의 색인을 반환합니다.

* 표기는 지정된 유형의 인스턴스가 0개 이상 있을 수 있음을 나타냅니다.
매개변수

contact_id :

integer

테스트할 접점의 ID입니다.

반환하는 항목

string?

이 접점이 터치 패널의 가장자리에서 비롯된 경우 이 문자열은 TOP, BOTTOM, RIGHT 또는 LEFT 중 하나의 값이 됩니다. 이 접점이 가장자리에서 비롯되지 않은 경우, 또는 가장자리 감지가 이 장치에서 지원되지 않는 경우에는 이 함수가 nil을 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

Android 플랫폼에서만 사용할 수 있습니다.

매개변수

contact_id :

integer

테스트할 접점의 ID입니다.

반환하는 항목

boolean

접점이 존재하면 true를, 그렇지 않으면 false를 반환합니다.

매개변수

contact_id :

integer

테스트할 접점의 ID입니다.

반환하는 항목

boolean

해당 접점이 기본 접점이면 true를 반환합니다.

매개변수

contact_id :

integer

테스트할 접점의 ID입니다.

반환하는 항목

boolean

접점이 이 프레임에서 초기화되었으면 true를 반환합니다.

매개변수

contact_id :

integer

테스트할 접점의 ID입니다.

반환하는 항목

boolean

접점이 이 프레임에서 해제되었으면 true를 반환합니다.

매개변수

contact_id :

integer

테스트할 접점의 ID입니다.

반환하는 항목

stingray.Vector3

현재 접점 위치의 X,Y 좌표입니다.

매개변수

contact_id :

integer

테스트할 접점의 ID입니다.

반환하는 항목

stingray.Vector3

이 프레임에서 이루어진 접점의 X,Y 좌표 변경 사항입니다.

매개변수

contact_id :

integer

테스트할 접점의 ID입니다.

반환하는 항목

number

장축에서의 지정된 접점의 크기(픽셀)입니다.

Android 플랫폼에서만 사용할 수 있습니다.

매개변수

contact_id :

integer

테스트할 접점의 ID입니다.

반환하는 항목

number

단축에서의 지정된 접점의 크기(픽셀)입니다.

Android 플랫폼에서만 사용할 수 있습니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

integer

현재 활성화되어 있는 터치 접점의 수입니다.

매개변수

contact_id :

integer

테스트할 접점의 ID입니다.

반환하는 항목

number

터치 패널에 가해지는 지정된 접점의 압력입니다.

Android 플랫폼에서만 사용할 수 있습니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

stingray.Vector3

컨트롤러에 대한 입력 좌표의 해상도입니다.

대개 X 및 Y축의 픽셀에 1:1로 매핑됩니다. Z축 좌표에는 접점의 최대 압력 값이 포함됩니다.

매개변수

contact_id :

integer

테스트할 접점의 ID입니다.

반환하는 항목

number

지정된 접점의 크기입니다.

이 값은 장치가 감지할 수 있는 가능한 최대의 터치 접점을 기준으로 정규화된 값입니다. 가능한 최소의 정규화된 크기는 0.0(접점이 없거나 측정할 수 없음)이며 가능한 최대의 정규화된 크기는 1.0(센서 영역이 포화 상태임)입니다. Android 플랫폼에서만 사용할 수 있습니다.

제스처

이 그룹의 함수는 터치 컨트롤러로부터 제스처 데이터를 가져오는 데 사용됩니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

stingray.Vector2?

길게 누르기 제스처가 시작된 위치를 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.
매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

boolean?

마지막 프레임 중에 제스처가 시작되었는지 여부를 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

boolean?

마지막 프레임 중에 제스처가 종료되었는지 여부를 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

stingray.Vector2?

제스처가 시작된 중심 위치를 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

number?

집기 제스처의 현재 배율 값을 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

number?

집기 제스처의 현재 scale_per_second 값을 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

낮은 프레임 속도에서는 begin과 ended 모두 동일한 호출에서 true를 반환할 수 있습니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

boolean?

마지막 프레임 중에 제스처가 시작되었는지 여부를 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

boolean?

마지막 프레임 중에 제스처가 종료되었는지 여부를 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

stingray.Vector2?

제스처가 시작된 중심 위치를 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

number?

라디안으로 표시되는 제스처의 총 누적 회전 값을 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

number?

제스처의 현재 초당 회전 값을 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

낮은 프레임 속도에서는 begin과 ended 모두 동일한 호출에서 true를 반환할 수 있습니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

stingray.SwipeDirection?

살짝 밀기의 방향을 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.
매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

stingray.Vector2?

가장 최근에 발생한 비연속 누르기의 위치를 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.
매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

number?

후속 누르기 수를 반환합니다. (iOS에서는 2-5, Android에서는 무제한)

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

stingray.Vector2?

가장 최근에 발생한 누르기의 위치를 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

사용되지 않는 함수

대신 해당 함수의 _id 버전을 사용하십시오.

매개변수

name :

string

ID를 검색하려는 축의 이름입니다.

반환하는 항목

integer

축의 색인을 반환하거나, 이름이 일치하는 축이 없으면 nil을 반환합니다.

축은 색인이 아닌 ID로 참조되어야 합니다. 대신 axis_id()를 사용하십시오.

매개변수

name :

string

ID를 검색하려는 버튼의 이름입니다.

반환하는 항목

integer

버튼의 색인을 반환하거나, 이름이 일치하는 버튼이 없으면 nil을 반환합니다.

버튼은 색인이 아닌 ID로 참조되어야 합니다. 대신 button_id()를 사용하십시오.