Nhập chuột và bàn phím

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Một trong những tỷ lệ lớn nhất của Roblox được chơi trên các thiết bị có chuột và bàn phím, vì vậy rất quan trọng để hỗ trợ đúng các đầu vào này khi thiết kế một trải nghiệm cho một đối tượng rộng lượng. Sau khi bạn đã quen vớ

Để tiện lợi, Roblox đặt các thành phần chuột và bàn phím phổ biến nhất là bộ định nghĩa mặc định mà, ngoại trừ các thành phần được đặt trước, bạn có thể đổi thay.

Nhập mọi loại chuột

Giống như tất cả các nhập nhận thiết bị, bạn có thể bắt captures nhập bằng cách sử dụng UserInputService . Dịch vụ này cung cấp một cách tương thích mà thay đổi captures và trạng thái nhập của thiết bị cho nhiều thiết bị cù

Ngoài ra, bạn có thể sử dụng ContextActionService để xử lý nhiều hành động trên một màn hình duy nhất tùy thuộc vào ngữ cảnh, chẳng hạn như sử dụng công cụ khi gần một viên đá hoặc mở cửa khi ở trong một tòa xây dựng. Xem Nhập hệ thống hà

Các LocalScript sau đây, khi được đặt trong StarterPlayerScripts, bắt captures clicks mouse và in ra vị trí chuột đến Output window:

LocalScript - Hiện ra Click chuột và Position

local UserInputService = game:GetService("UserInputService")
local function onInputEnded(inputObject, processedEvent)
-- Đầu tiên kiểm tra nếu "đã xử lý sự kiện" là sự thật
-- Điều này cho thấy rằng một script khác đã xử lý dữ liệu nhập, vì vậy cái này được bỏ qua
if processedEvent then return end
-- Tiếp theo, kiểm tra rằng đầu vào là một sự kiện chuột
if inputObject.UserInputType == Enum.UserInputType.MouseButton1 then
print("Left Mouse button was pressed:", inputObject.Position)
elseif inputObject.UserInputType == Enum.UserInputType.MouseButton2 then
print("Right Mouse button was pressed:", inputObject.Position)
end
end
UserInputService.InputEnded:Connect(onInputEnded)

Nhập bàn phím chung

Để acces những sự kiện trên bàn phím, hãy sử dụng sự kiện UserInputService.InputEnded để theo dõi bất kỳ lúc nào mà bất kỳ keystroke hoặc nhập khác kết thúc. Tương tự như các sự kiện chuột , sự kiện này chỉ hoạt động trong một Class.LocalScript</

Các câu sau đây LocalScript, khi được đặt trong StarterPlayerScripts, in ra Enum.KeyCode của một nút đã được nhấn vào cửa sổ 1>4>Hiển thị4> :


local UserInputService = game:GetService("UserInputService")
local function onInputEnded(inputObject, processedEvent)
-- Đầu tiên kiểm tra nếu "đã xử lý sự kiện" là sự thật
-- Điều này cho thấy rằng một script khác đã xử lý dữ liệu nhập, vì vậy cái này được bỏ qua.
if processedEvent then return end
-- Tiếp theo, kiểm tra rằng đầu vào là một sự kiện của bàn phím
if inputObject.UserInputType == Enum.UserInputType.Keyboard then
print("A key was released: " .. inputObject.KeyCode.Name)
end
end
UserInputService.InputEnded:Connect(onInputEnded)

Nhập UI

Tự động nhập chuột và bàn phím với các thành phần trên màn hình chủ động như TextButtonsImageButtons , cũng như TextBoxes , mà t�� nhập nhập nhập nhập nhập nhập nhập nhập nhập nhập n

Để biết thêm thông tin về việc tạo các nút và tham chiếu văn bản, hãy xem NútNhập văn bản .

Chế độ di chuyển nhân vật

Bạn có thể tùy chỉnh các điều khiển di chuyển chuột và bàn phím cho trải nghiệm Roblox bằng cách thay đổi giá trị của StarterPlayer.DevComputerMovementMode lên một trong những giá trị theo dõi:

Tùy chọnMô tả
Lựa chọn người dùng Cho phép người dùng chọn chế độ điều khiển tùy chỉnh của họ từ menu trong trải nghiệm. Tùy chọn này được bật mặc định.
Bàn phím trên chuột Người dùng có thể nhấn WASD để di chuyển và 1> Space1> để nhảy. Đây là cài đặt mặc định cho người dùng bàn phím và chuột cho cài đặt 4> User Choice4> .
ClickToMove. Người dùng chỉ có thể di chuyển qua trải nghiệm bằng cách nhấp chuột phải vào một vị trí mục tiêu.
Có thể chọn择 Vô hiệu hóa tất cả các điều khiển mặc định và cho phép bạn kết hợp điều khiển của riêng bạn .

Biểu Tượng Màu Sắc

Bạn có thể tùy chỉnh nhìn và hành vi của người dùng trên nút bên trong trang của bạn để tạo ra một kiểu dáng bền vững trên tất cả các thành phần UI của bạn. Điều này bao gồm thay đổi ngắn thời của người dùng trên nút bên trên trang của bạn, chẳng hạn như hover trên một nút.

Đổi biểu tượng

Bạn có thể thay đổi icon chuột của người dùng trong một LocalScript bằng cách thiết lập giá trị MouseIcon trong UserInputService để một ID tài nguyên Roblox tùy


local UserInputService = game:GetService("UserInputService")
UserInputService.MouseIcon = "rbxassetid://3400146391"

Ẩn biểu tượng

Bạn có thể che giấu icon chuột của người dùng bằng cách thiết lập UserInputService.MouseIconEnabled để false trong một LocalScript . Ví dụ, mã sau đây chuyển icon chuột từ hiển nhiên sang vô hiển và trở lại mỗi hai giây:


local UserInputService = game:GetService("UserInputService")
while true do
task.wait(2)
UserInputService.MouseIconEnabled = false
task.wait(2)
UserInputService.MouseIconEnabled = true
end

Bảo vệ biểu tượng

Bạn có thể khóa vị trí biểu tượng chuột đến màn hình bằng cách sử dụng UserInputService.MouseBehavior với giá trị Enum.MouseBehavior hoặc LockCurrentPosition sau đó khóa nó lại vớ

Nếu biểu tượng chuột của một người đang bị khóa ở một vị trí, UserInputService.InputChanged vẫn bắt đầu khi người dùng di chuyển chuột, truyền khoảng cách mà chuột đã di chuyển. Ví dụ, mẫu code sau đây khóa biểu tượng chuột củ


local UserInputService = game:GetService("UserInputService")
task.wait(5)
UserInputService.MouseBehavior = Enum.MouseBehavior.LockCurrentPosition
UserInputService.InputChanged:Connect(function(inputObject)
if inputObject.UserInputType == Enum.UserInputType.MouseMovement then
print("Mouse delta is (" .. tostring(inputObject.Delta.X) .. ", " .. tostring(inputObject.Delta.Y) .. ")")
end
end)

Cài đặt mặc định của Roblox

Roblox cung cấp các kết nối chìa khóa mặc định cho tất cả các hành độngnghiệm. Đây là những lựa chọn phổ biến nhất được sử dụng cho di chuyển, điều khiển máy ảnh và tương tác môi trường cơ bản. Bỏ qua các kết

Enum.CoreGuiType các tính năng, chẳng hạn như Backpack hoặc Chat , có một danh sách các tham số mặc định bổ sung. Bạn không thể đổi trượt các tham số được lưu trữ, chẳng hạn như 0> Esc0> (Rob

Các liên kết này là các mặc định của Roblox, nhưng bạn có thể chúng chúng bằng cách sử dụng các script tùy chỉnh. Hầu hết người dùng Roblox quen với các điều khiển này, vì vậy bạn chỉ nên chúng chúng trong các trường hợp cụ thể.

NhậpHành động
WDi chuyển về phía trước
SDi chuyển quay lại
ADi chuyển bên trái
DDi chuyển phải
SpacebarNhảy
→>Xoay camera theo phía bên trái hoặc bên phải
nút chuột phải Khi nhấn, kéo chuột di chuyển vị trí Camera xung quanh
Bánh xe cuộn chuột chuột IONhòm camera vào hoặc ra
ShiftBật/tắt tùy chọn khóa chuột nếu EnableMouseLockOption được bật