! 하드웨어 게임패드 생성 (gamepad.connect)
이 함수는 20260805 이후 버전에서 사용할 수 있습니다
선언
게임패드 객체, 오류 정보 = gamepad.connect([ 속성 ])
매개변수
- 속성 테이블, 선택 사항. 아래의 자주 사용하는 기기 속성을 설정합니다. 코드 블록의 값은 생략했을 때의 기본값입니다.
{
VendorID = 0x5858,
ProductID = 0x0007,
VersionNumber = 1,
Product = "XXTouch Gamepad",
Manufacturer = "XXTouch",
Transport = "USB",
}
SerialNumber와 LocationID도 설정할 수 있습니다. 그 밖의 속성은 적용을 보장하지 않습니다.
반환값
- 게임패드 객체 게임패드 객체 또는 nil. 기기 생성에 성공하면 새 게임패드 객체를, 실패하면 nil을 반환합니다.
- 오류 정보 문자열. 기기 생성에 실패했을 때의 오류 정보입니다.
설명
- 호출할 때마다 새로운 독립 게임패드 객체를 반환합니다. 서로 다른 객체의 입력 상태와 수명 주기는 서로 영향을 주지 않습니다.
- 게임패드는 왼쪽 및 오른쪽 스틱, 방향 패드, 숫자 버튼
1~32,menu입력을 지원합니다. - 연결을 기다리는 동안 현재 Lua 실행 스레드의 제어권을 양보합니다.
- 시스템에서 이 기능을 지원하지 않으면
gamepad.connect가nil, error를 반환합니다. - 연결 성공은 게임패드 객체를 호출할 수 있다는 뜻일 뿐입니다. 대상 App이 게임패드와 모든 입력을 인식하는지는 시스템 버전과 App의 게임패드 지원에 따라 달라집니다.
Transport는 로컬 시스템이 게임패드를 인식하는 방식에만 영향을 줍니다."Bluetooth"또는"BluetoothLowEnergy"로 설정해도 Bluetooth 연결, 광고 또는 페어링이 이루어지지 않으며 다른 기기의 Bluetooth 목록에도 게임패드가 표시되지 않습니다.
예제
local pad, err = gamepad.connect({
Product = "XXTouch Gamepad",
})
assert(pad, err)
assert(pad:press("a"))
assert(pad:press("menu"))
assert(pad:down("left_shoulder"))
assert(pad:set_stick("left", 0.5, 1))
assert(pad:set_dpad(1, 0))
assert(pad:up("left_shoulder"))
assert(pad:reset())
pad:disconnect()