Pentru a construi jocuri multi-platformă capabile să ruleze pe PC, telefoane mobile (Android/iOS) și console (Xbox, PlayStation), Roblox pune la dispoziție două servicii complementare: UserInputService (pentru citirea directă a evenimentelor de intrare hardware) și ContextActionService (care generează automat butoane tactile pe ecranele telefoanelor mobile).
Legarea unei acțiuni de reîncărcare pentru tastatură, gamepad și mobil
-- Cod rulat într-un LocalScript (Client):
local ContextActionService = game:GetService("ContextActionService")
local NUME_ACTIUNE = "ReincarcaArma"
local function gestioneazaReincarcare(numeActiune, stareInput, obiectInput)
-- Verificăm dacă tasta tocmai a fost apăsată:
if stareInput == Enum.UserInputState.Begin then
print("Acțiunea de reîncărcare a fost declanșată!")
-- Aici se declanșează animația și evenimentul către server
return Enum.ContextActionResult.Sink -- Consumă evenimentul
end
return Enum.ContextActionResult.Pass
end
-- Legăm acțiunea de tasta 'R' de pe tastatură și de butonul 'X' de pe controller:
-- Al treilea parametru (true) creează AUTOMAT un buton pe ecranul dispozitivelor mobile!
ContextActionService:BindAction(
NUME_ACTIUNE,
gestioneazaReincarcare,
true, -- crează buton tactil pe mobil
Enum.KeyCode.R,
Enum.KeyCode.ButtonX
)
-- Personalizăm textul butonului creat pe ecranul tactil:
ContextActionService:SetTitle(NUME_ACTIUNE, "Reîncarcă")
Întrebări & Exemple de Cod:
Controlul Utilizatorului: UserInputService și ContextActionService (Mobil, PC, Gamepad)Ai o nelămurire despre utilizarea comenzii
Controlul Utilizatorului: UserInputService și ContextActionService (Mobil, PC, Gamepad)sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.