UserInputService

UserInputService : Instance

Overview

์‚ฌ์šฉ์ž์˜ ์žฅ์น˜์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ž…๋ ฅ์„ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ํด๋ผ์ด์–ธํŠธ ์ „์šฉ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค, ํ„ฐ์น˜์Šคํฌ๋ฆฐ ๋“ฑ ์ž…๋ ฅ ์žฅ์น˜์— ๋”ฐ๋ผ ๋™์ž‘์„ ๋‹ค๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ํ”Œ๋žซํผ์— ์ตœ์ ํ™”๋œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์„œ๋น„์Šค๋Š” LocalScript์™€ ๊ฐ™์€ ํด๋ผ์ด์–ธํŠธ ํ™˜๊ฒฝ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Properties

Methods

Events

TouchStarted

์‚ฌ์šฉ์ž๊ฐ€ ํ™”๋ฉด์„ ํ„ฐ์น˜ ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.

ํ„ฐ์น˜ ๊ธฐ๋ฐ˜ ์ธํ„ฐ๋ž™์…˜์˜ ์‹œ์ž‘์ ์„ ๊ฐ์ง€ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•˜๋ฉฐ, TouchMoved์™€ TouchEnded์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด, ํ„ฐ์น˜์˜ ์‹œ์ž‘๋ถ€ํ„ฐ ์ด๋™, ์ข…๋ฃŒ๊นŒ์ง€์˜ ์ „์ฒด ๊ณผ์ •์„ ํšจ๊ณผ์ ์œผ๋กœ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Parameters

InputObject InputObject

์ž…๋ ฅ๊ณผ ๊ด€๋ จ๋œ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฐ์ฒด์ด๋ฉฐ, ํ•˜๋‚˜์˜ ํ„ฐ์น˜ ์ž…๋ ฅ์ด ์‹œ์ž‘๋˜๊ณ  ๋๋‚  ๋•Œ๊นŒ์ง€ ๋™์ผํ•œ ์ธ์Šคํ„ด์Šค๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฉ€ํ‹ฐ ํ„ฐ์น˜์˜ ๊ฒฝ์šฐ, ์ด ๊ฐ์ฒด๋“ค์„ ๋น„๊ตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Enum.KeyCode KeyCode: ์ž…๋ ฅ๋œ ํ‚ค

  • Enum.UserInputState UserInputState: ์ž…๋ ฅ ์ƒํƒœ

  • Enum.UserInputType UserInputType: ์ž…๋ ฅ ์žฅ์น˜ ์ข…๋ฅ˜

  • Vector3 Delta: ์ด๋™ ๋ณ€ํ™”๋Ÿ‰ (Z๊ฐ’์€ 0์œผ๋กœ ๊ณ ์ •)

  • Vector3 Position: ์ž…๋ ฅ์ด ๋ฐœ์ƒํ•œ ํ™”๋ฉด์ƒ์˜ ์œ„์น˜ (Z๊ฐ’์€ 0์œผ๋กœ ๊ณ ์ •)

bool bGameProcessed

ํ•ด๋‹น ์ž…๋ ฅ์ด ํ™”๋ฉด ์ƒ์˜ UI ์š”์†Œ์— ์˜ํ•ด ์ด๋ฏธ ์ฒ˜๋ฆฌ๋˜์—ˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ž…๋ ฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” UI๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ์ฑ„ํŒ…์ฐฝ, ๋ฉ”๋‰ด ๋ฒ„ํŠผ ๊ฐ™์€ ์‹œ์Šคํ…œ UI

  • ContextActionService๋กœ Bind๋œ ๋ฒ„ํŠผ

  • ScreenGui, SurfaceGui๋‚ด Active๊ฐ€ ์ผœ์ง„ Gui ๋ฒ„ํŠผ

Code Samples

local UserInputService = game:GetService("UserInputService")

local function OnScreenTouchStart(input, _gameProcessed)
    local keyCode = input.KeyCode        
    local inputState = input.UserInputState 
    local inputType = input.UserInputType   
    local delta = input.Delta
    local pos = input.Position    
end
UserInputService.TouchStarted:Connect(OnScreenTouchStart)

TouchMoved

์‚ฌ์šฉ์ž๊ฐ€ ํ™”๋ฉด ์œ„์—์„œ ์†๊ฐ€๋ฝ์„ ์›€์ง์ผ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.

์†๊ฐ€๋ฝ์ด ์–ด๋А ์œ„์น˜๋กœ ์ด๋™ํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์–ด, ๋“œ๋ž˜๊ทธ, ์Šค์™€์ดํ”„์™€ ๊ฐ™์€ ์ œ์Šค์ฒ˜ ๊ธฐ๋ฐ˜ ์ž…๋ ฅ์„ ๊ฐ์ง€ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

Parameters

InputObject InputObject

์ž…๋ ฅ๊ณผ ๊ด€๋ จ๋œ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฐ์ฒด์ด๋ฉฐ, ํ•˜๋‚˜์˜ ํ„ฐ์น˜ ์ž…๋ ฅ์ด ์‹œ์ž‘๋˜๊ณ  ๋๋‚  ๋•Œ๊นŒ์ง€ ๋™์ผํ•œ ์ธ์Šคํ„ด์Šค๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฉ€ํ‹ฐ ํ„ฐ์น˜์˜ ๊ฒฝ์šฐ, ์ด ๊ฐ์ฒด๋“ค์„ ๋น„๊ตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Enum.KeyCode KeyCode: ์ž…๋ ฅ๋œ ํ‚ค

  • Enum.UserInputState UserInputState: ์ž…๋ ฅ ์ƒํƒœ

  • Enum.UserInputType UserInputType: ์ž…๋ ฅ ์žฅ์น˜ ์ข…๋ฅ˜

  • Vector3 Delta: ์ด๋™ ๋ณ€ํ™”๋Ÿ‰ (Z๊ฐ’์€ 0์œผ๋กœ ๊ณ ์ •)

  • Vector3 Position: ์ž…๋ ฅ์ด ๋ฐœ์ƒํ•œ ํ™”๋ฉด์ƒ์˜ ์œ„์น˜ (Z๊ฐ’์€ 0์œผ๋กœ ๊ณ ์ •)

bool bGameProcessed

ํ•ด๋‹น ์ž…๋ ฅ์ด ํ™”๋ฉด ์ƒ์˜ UI ์š”์†Œ์— ์˜ํ•ด ์ด๋ฏธ ์ฒ˜๋ฆฌ๋˜์—ˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ž…๋ ฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” UI๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ์ฑ„ํŒ…์ฐฝ, ๋ฉ”๋‰ด ๋ฒ„ํŠผ ๊ฐ™์€ ์‹œ์Šคํ…œ UI

  • ContextActionService๋กœ Bind๋œ ๋ฒ„ํŠผ

  • ScreenGui, SurfaceGui๋‚ด Active๊ฐ€ ์ผœ์ง„ Gui ๋ฒ„ํŠผ

Code Samples

local UserInputService = game:GetService("UserInputService")

local function OnScreenTouchMove(input, _gameProcessed)
    local keyCode = input.KeyCode        
    local inputState = input.UserInputState 
    local inputType = input.UserInputType   
    local delta = input.Delta
    local pos = input.Position 
end
UserInputService.TouchMoved:Connect(OnScreenTouchMove)

TouchEnded

์‚ฌ์šฉ์ž๊ฐ€ ํ™”๋ฉด์—์„œ ์†๊ฐ€๋ฝ์„ ๋–ผ๋Š” ์ˆœ๊ฐ„ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.

์ด ์ด๋ฒคํŠธ๋Š” ํ„ฐ์น˜ ์ž…๋ ฅ์˜ ์ข…๋ฃŒ ์‹œ์ ์„ ๊ฐ์ง€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Parameters

InputObject InputObject

์ž…๋ ฅ๊ณผ ๊ด€๋ จ๋œ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฐ์ฒด์ด๋ฉฐ, ํ•˜๋‚˜์˜ ํ„ฐ์น˜ ์ž…๋ ฅ์ด ์‹œ์ž‘๋˜๊ณ  ๋๋‚  ๋•Œ๊นŒ์ง€ ๋™์ผํ•œ ์ธ์Šคํ„ด์Šค๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฉ€ํ‹ฐ ํ„ฐ์น˜์˜ ๊ฒฝ์šฐ, ์ด ๊ฐ์ฒด๋“ค์„ ๋น„๊ตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Enum.KeyCode KeyCode: ์ž…๋ ฅ๋œ ํ‚ค

  • Enum.UserInputState UserInputState: ์ž…๋ ฅ ์ƒํƒœ

  • Enum.UserInputType UserInputType: ์ž…๋ ฅ ์žฅ์น˜ ์ข…๋ฅ˜

  • Vector3 Delta: ์ด๋™ ๋ณ€ํ™”๋Ÿ‰ (Z๊ฐ’์€ 0์œผ๋กœ ๊ณ ์ •)

  • Vector3 Position: ์ž…๋ ฅ์ด ๋ฐœ์ƒํ•œ ํ™”๋ฉด์ƒ์˜ ์œ„์น˜ (Z๊ฐ’์€ 0์œผ๋กœ ๊ณ ์ •)

bool bGameProcessed

ํ•ด๋‹น ์ž…๋ ฅ์ด ํ™”๋ฉด ์ƒ์˜ UI ์š”์†Œ์— ์˜ํ•ด ์ด๋ฏธ ์ฒ˜๋ฆฌ๋˜์—ˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ž…๋ ฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” UI๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ์ฑ„ํŒ…์ฐฝ, ๋ฉ”๋‰ด ๋ฒ„ํŠผ ๊ฐ™์€ ์‹œ์Šคํ…œ UI

  • ContextActionService๋กœ Bind๋œ ๋ฒ„ํŠผ

  • ScreenGui, SurfaceGui๋‚ด Active๊ฐ€ ์ผœ์ง„ Gui ๋ฒ„ํŠผ

Code Samples

local UserInputService = game:GetService("UserInputService")

local function OnScreenTouchEnd(input, _gameProcessed)
    local keyCode = input.KeyCode        
    local inputState = input.UserInputState 
    local inputType = input.UserInputType   
    local delta = input.Delta
    local pos = input.Position 
end
UserInputService.TouchEnded:Connect(OnScreenTouchEnd)

InputBegan

์‚ฌ์šฉ์ž๊ฐ€ ํ™”๋ฉด์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜, ๋งˆ์šฐ์Šค, ํ‚ค๋ณด๋“œ ๋“ฑ์œผ๋กœ ์ž…๋ ฅ์„ ์‹œ์ž‘ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.

InputChanged์™€ InputEnded์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด, ์ž…๋ ฅ์˜ ์‹œ์ž‘๋ถ€ํ„ฐ ์ด๋™, ์ข…๋ฃŒ๊นŒ์ง€์˜ ์ „์ฒด ๊ณผ์ •์„ ํšจ๊ณผ์ ์œผ๋กœ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋งŒ, ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ๋Š” ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ŠคํŠœ๋””์˜ค์—์„œ์˜ ํ…Œ์ŠคํŠธ๋‚˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ๋Š” TouchStarted, TouchMoved, TouchEnded ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

Parameters

InputObject InputObject

์ž…๋ ฅ๊ณผ ๊ด€๋ จ๋œ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฐ์ฒด์ด๋ฉฐ, ํ•˜๋‚˜์˜ ์ž…๋ ฅ์ด ์‹œ์ž‘๋˜๊ณ  ๋๋‚  ๋•Œ๊นŒ์ง€ ๋™์ผํ•œ ์ธ์Šคํ„ด์Šค๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

  • Enum.KeyCode KeyCode: ์ž…๋ ฅ๋œ ํ‚ค

  • Enum.UserInputState UserInputState: ์ž…๋ ฅ ์ƒํƒœ

  • Enum.UserInputType UserInputType: ์ž…๋ ฅ ์žฅ์น˜ ์ข…๋ฅ˜

  • Vector3 Delta: ์ด๋™ ๋ณ€ํ™”๋Ÿ‰ (Z๊ฐ’์€ 0์œผ๋กœ ๊ณ ์ •)

  • Vector3 Position: ์ž…๋ ฅ์ด ๋ฐœ์ƒํ•œ ํ™”๋ฉด์ƒ์˜ ์œ„์น˜ (Z๊ฐ’์€ 0์œผ๋กœ ๊ณ ์ •)

bool bGameProcessed

ํ•ด๋‹น ์ž…๋ ฅ์ด ํ™”๋ฉด ์ƒ์˜ UI ์š”์†Œ์— ์˜ํ•ด ์ด๋ฏธ ์ฒ˜๋ฆฌ๋˜์—ˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ž…๋ ฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” UI๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ์ฑ„ํŒ…์ฐฝ, ๋ฉ”๋‰ด ๋ฒ„ํŠผ ๊ฐ™์€ ์‹œ์Šคํ…œ UI

  • ContextActionService๋กœ Bind๋œ ๋ฒ„ํŠผ

  • ScreenGui, SurfaceGui๋‚ด Active๊ฐ€ ์ผœ์ง„ Gui ๋ฒ„ํŠผ

Code Samples

local UserInputService = game:GetService("UserInputService")

local function OnScreenTouchStart(input, _gameProcessed)
    local keyCode = input.KeyCode        
    local inputState = input.UserInputState 
    local inputType = input.UserInputType   
    local delta = input.Delta
    local pos = input.Position    
end
UserInputService.InputBegan:Connect(OnScreenTouchStart)

InputChanged

์‚ฌ์šฉ์ž๊ฐ€ ํ™”๋ฉด์„ ํด๋ฆญํ•œ ์ƒํƒœ์—์„œ ๋งˆ์šฐ์Šค ์ปค์„œ๋ฅผ ์›€์ง์ผ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค

๋งˆ์šฐ์Šค ์ปค์„œ๊ฐ€ ์–ด๋А ์œ„์น˜๋กœ ์ด๋™ํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์–ด, ๋“œ๋ž˜๊ทธ, ์Šค์™€์ดํ”„์™€ ๊ฐ™์€ ์ œ์Šค์ฒ˜ ๊ธฐ๋ฐ˜ ์ž…๋ ฅ์„ ๊ฐ์ง€ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋งŒ, ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ๋Š” ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ŠคํŠœ๋””์˜ค์—์„œ์˜ ํ…Œ์ŠคํŠธ๋‚˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ๋Š” TouchStarted, TouchMoved, TouchEnded ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

Parameters

InputObject InputObject

์ž…๋ ฅ๊ณผ ๊ด€๋ จ๋œ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฐ์ฒด์ด๋ฉฐ, ํ•˜๋‚˜์˜ ์ž…๋ ฅ์ด ์‹œ์ž‘๋˜๊ณ  ๋๋‚  ๋•Œ๊นŒ์ง€ ๋™์ผํ•œ ์ธ์Šคํ„ด์Šค๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

  • Enum.KeyCode KeyCode: ์ž…๋ ฅ๋œ ํ‚ค

  • Enum.UserInputState UserInputState: ์ž…๋ ฅ ์ƒํƒœ

  • Enum.UserInputType UserInputType: ์ž…๋ ฅ ์žฅ์น˜ ์ข…๋ฅ˜

  • Vector3 Delta: ์ด๋™ ๋ณ€ํ™”๋Ÿ‰ (Z๊ฐ’์€ 0์œผ๋กœ ๊ณ ์ •)

  • Vector3 Position: ์ž…๋ ฅ์ด ๋ฐœ์ƒํ•œ ํ™”๋ฉด์ƒ์˜ ์œ„์น˜ (Z๊ฐ’์€ 0์œผ๋กœ ๊ณ ์ •)

bool bGameProcessed

ํ•ด๋‹น ์ž…๋ ฅ์ด ํ™”๋ฉด ์ƒ์˜ UI ์š”์†Œ์— ์˜ํ•ด ์ด๋ฏธ ์ฒ˜๋ฆฌ๋˜์—ˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ž…๋ ฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” UI๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ์ฑ„ํŒ…์ฐฝ, ๋ฉ”๋‰ด ๋ฒ„ํŠผ ๊ฐ™์€ ์‹œ์Šคํ…œ UI

  • ContextActionService๋กœ Bind๋œ ๋ฒ„ํŠผ

  • ScreenGui, SurfaceGui๋‚ด Active๊ฐ€ ์ผœ์ง„ Gui ๋ฒ„ํŠผ

Code Samples

local UserInputService = game:GetService("UserInputService")

local function OnScreenTouchMove(input, _gameProcessed)
    local keyCode = input.KeyCode        
    local inputState = input.UserInputState 
    local inputType = input.UserInputType   
    local delta = input.Delta
    local pos = input.Position 
end
UserInputService.InputChanged:Connect(OnScreenTouchMove)

InputEnded

์‚ฌ์šฉ์ž๊ฐ€ ํ™”๋ฉด ํด๋ฆญ, ๋งˆ์šฐ์Šค, ํ‚ค๋ณด๋“œ ๋“ฑ์˜ ์ž…๋ ฅ์„ ์ข…๋ฃŒํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.

์ด ์ด๋ฒคํŠธ๋Š” ์ž…๋ ฅ์˜ ์ข…๋ฃŒ ์‹œ์ ์„ ๊ฐ์ง€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋‹ค๋งŒ, ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ๋Š” ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ŠคํŠœ๋””์˜ค์—์„œ์˜ ํ…Œ์ŠคํŠธ๋‚˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ๋Š” TouchStarted, TouchMoved, TouchEnded ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

Parameters

InputObject InputObject

์ž…๋ ฅ๊ณผ ๊ด€๋ จ๋œ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฐ์ฒด์ด๋ฉฐ, ํ•˜๋‚˜์˜ ์ž…๋ ฅ์ด ์‹œ์ž‘๋˜๊ณ  ๋๋‚  ๋•Œ๊นŒ์ง€ ๋™์ผํ•œ ์ธ์Šคํ„ด์Šค๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

  • Enum.KeyCode KeyCode: ์ž…๋ ฅ๋œ ํ‚ค

  • Enum.UserInputState UserInputState: ์ž…๋ ฅ ์ƒํƒœ

  • Enum.UserInputType UserInputType: ์ž…๋ ฅ ์žฅ์น˜ ์ข…๋ฅ˜

  • Vector3 Delta: ์ด๋™ ๋ณ€ํ™”๋Ÿ‰ (Z๊ฐ’์€ 0์œผ๋กœ ๊ณ ์ •)

  • Vector3 Position: ์ž…๋ ฅ์ด ๋ฐœ์ƒํ•œ ํ™”๋ฉด์ƒ์˜ ์œ„์น˜ (Z๊ฐ’์€ 0์œผ๋กœ ๊ณ ์ •)

bool bGameProcessed

ํ•ด๋‹น ์ž…๋ ฅ์ด ํ™”๋ฉด ์ƒ์˜ UI ์š”์†Œ์— ์˜ํ•ด ์ด๋ฏธ ์ฒ˜๋ฆฌ๋˜์—ˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ž…๋ ฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” UI๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ์ฑ„ํŒ…์ฐฝ, ๋ฉ”๋‰ด ๋ฒ„ํŠผ ๊ฐ™์€ ์‹œ์Šคํ…œ UI

  • ContextActionService๋กœ Bind๋œ ๋ฒ„ํŠผ

  • ScreenGui, SurfaceGui๋‚ด Active๊ฐ€ ์ผœ์ง„ Gui ๋ฒ„ํŠผ

Code Samples

local UserInputService = game:GetService("UserInputService")

local function OnScreenTouchEnd(input, _gameProcessed)
    local keyCode = input.KeyCode        
    local inputState = input.UserInputState 
    local inputType = input.UserInputType   
    local delta = input.Delta
    local pos = input.Position 
end
UserInputService.InputEnded:Connect(OnScreenTouchEnd)

See also

๋ชจ๋ฐ”์ผ ์กฐ์ž‘ ์ฒ˜๋ฆฌ

Last updated