การใช้เมาส์และเป้นเครื่อง

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

มีส่วนใหญ่ของ Roblox เซสชันเล่นบนอุปกรณ์ที่มีเมาส์และคีย์บอร์ดดังนั้นจึงเป็นเรื่องสำคัญที่จะสนับสนุนการเข้าถึงเหล่านี้เมื่อออกแบบประสบการณ์สำหรับผู้ชมกว้าง

สำหรับความสะดวก Roblox ตั้งค่าการใช้งานเมาส์และเมาส์ที่พบบ่อยที่สุดให้เป็น การตั้งค่าเริ่มต้นซึ่งยกเว้นสำหรับการเปลี่ยนแปลงที่จำหน่ายไว้ คุณสามารถเขียนขึ้นได้

การป้อนเมาส์ทั่วไป

เหมือนการป้อนข้อมูลอุปกรณ์ทั้งหมด, คุณสามารถจับการป้อนข้อมูลของเมาส์โดยใช้ UserInputService นี้ บริการนี้ให้วิธีการป้อนข้อมูลและสถานะการป้อนของอ

นอกจากนี้คุณยังสามารถใช้ ContextActionService เพื่อจัดการหลายการกระทําในการประมวลผลครั้งเดียวขึ้นอยู่กับบริบที่ต้องการเช่นการใช้เครื่องมือเมื่ออยู่ใกล้หินหรือการเป

ต่อไป LocalScript เมื่อวางใน StarterPlayerScripts จับการคลิกเมาส์และพิมพ์ตำแหน่งเมาส์ไปยังหน้าต่าง Output ตัวออก:

LocalScript - การแสดงผลการคลิกเมาส์และตําแหน่ง

local UserInputService = game:GetService("UserInputService")
local function onInputEnded(inputObject, processedEvent)
-- ตรวจสอบก่อนว่า "ประมวลผลเหตุการณ์" เป็นความจริง
-- นี่แสดงให้เห็นว่าสคริปต์อื่นได้ประมวลผลการป้อนข้อมูลแล้วดังนั้นสคริปต์นี้จึงได้รับการเพิกเฉย
if processedEvent then return end
-- ต่อไป, ตรวจสอบว่าการป้อนข้อมูลเป็นเหตุการณ์เมาส์
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)

การป้อนข้อมูลเครื่องพิมพ์ทั่วไป

เพื่อเข้าถึงเหตุการณ์ของคีย์บอร์ดให้ใช้งาน เหตุการณ์ UserInputService.InputEnded เพื่อติดตามเมื่อใดก็ตามที่คีย์สโตรกหรือการป้อนข้อมูลอื่นจะสิ้นสุด เหมือนกับเหตุการณ์ เมา

ต่อไป LocalScript เมื่อวางใน StarterPlayerScripts พิมพ์ Enum.KeyCode ของปุ่มกดที่กดไว้ในหน้าต่าง Enum.KeyCode วงล้อ:


local UserInputService = game:GetService("UserInputService")
local function onInputEnded(inputObject, processedEvent)
-- ตรวจสอบก่อนว่า "ประมวลผลเหตุการณ์" เป็นความจริง
-- นี่แสดงให้เห็นว่าสคริปต์อื่นได้ประมวลผลการป้อนข้อมูลแล้ว ดังนั้นสคริปต์นี้จึงได้รับการเพิกเฉย
if processedEvent then return end
-- ต่อไป, ตรวจสอบว่าการป้อนข้อมูลเป็นเหตุการณ์ของคีย์บอร์ด
if inputObject.UserInputType == Enum.UserInputType.Keyboard then
print("A key was released: " .. inputObject.KeyCode.Name)
end
end
UserInputService.InputEnded:Connect(onInputEnded)

การป้อนข้อมูล UI

การใช้เมาส์และการป้อนข้อมูลของคีย์บอร์ดทำงานได้อย่างอัตโนมัติกับรายการ UI โต้ตอบเช่น TextButtons และ ImageButtons รวมถึง TextBoxes ซึ่งจับการป้อนข้อม

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างปุ่มและวัตถุป้อนข้อความข้อความ, ดู ปุ่ม และ การป้อนข้อความข้อความ

โหมดการเคลื่อนที่ตัวละคร

คุณสามารถตั้งค่าการเคลื่อนไหวของเมาส์และเมาส์สำหรับการใช้งาน Roblox โดยการเปลี่ยนค่าของ StarterPlayer.DevComputerMovementMode กำลังติดตาม:

ตัวเลือกคำอธิบาย
การเลือกผู้ใช้ ช่วยให้ผู้ใช้เลือกระบบการควบคุมที่ต้องการจากเมนูในประสบการณ์ ตัวเลือกนี้เปิดใช้งานโดยค่าเริ่มต้น
เครื่องเล่นเกมพีซีดี ผู้ใช้สามารถกด WASD เพื่อเคลื่อนที่และ 1> พื้นที่ว่าง1> เพื่อกระโดด นี่คือการตั้งค่าค่าเริ่มต้นสำหรับผู้ใช้เครื่องและเมาส์สำหร
คลิกเพื่อย้าย ผู้ใช้สามารถเคลื่อนที่ผ่านประสบการณ์โดยการคลิกขวาที่ตำแหน่งเป้าหมาย
สคริปต์ได้ ปิดการควบคุมทั้งหมดและสามารถให้คุณ ผูกควบคุมของคุณเอง

ไอคอนเมาส์

คุณสามารถปรับแต่งรูปลักษณ์และพฤติกรรมของไอคอนเมาส์ของผู้ใช้ภายในประสบการณ์ของคุณเพื่อสร้างสไตล์ที่เป็นหนึ่งเหมือนกันในทุกส่วน

เปลี่ยนไอคอน

คุณสามารถเปลี่ยนไอคอนเมาส์ของผู้ใช้ใน LocalScript โดยการตั้งค่าสมบัติของ MouseIcon ใน UserInputService เป็นไอคอ


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

ซ่อนไอคอน

คุณสามารถซ่อนไอคอนเมาส์ของผู้ใช้โดยการตั้งค่า UserInputService.MouseIconEnabled ให้เป็น false ใน LocalScript ตัวอย่างเช่น รหัสต่อไปนี้สลับไอคอนเมาส์จากมองเห็นไปเป็นมอ


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

ล็อคไอคอน

คุณสามารถล็อคตำแหน่งไอคอนเมาส์ไว้บนหน้าจอโดยใช้ UserInputService.MouseBehavior ด้วยมูลค่า Enum.MouseBehavior หรือ LockCurrentPosition แล้วปล

หากไอคอนเมาส์ของผู้ใช้ถูกล็อกในตำแหน่งใด ๆ UserInputService.InputChanged ยังคงปรากฏเมื่อผู้ใช้เคลื่อนเมาส์ โดยให้ระยะทางที่เมาส์เคลื่อนที่ไป


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)

การตั้งค่าการผูกติดต่อ Roblox

Roblox ให้การตั้งค่าการผูกสัญลักษณ์เริ่มต้นสำหรับทุกประสบการณ์ นี่คือการป้อนข้อมูลที่พบบ่อยที่สุดสำหรับการเคลื่อนไหวการควบคุมกล้อง และการใช้งาน

Enum.CoreGuiType คุณสมบัติเช่น Backpack หรือ Chat มีรายการข้อมูลที่เป็นปุ่มลัดเพิ่มเติม คุณไม่สามารถเขียนเขียวข้อมูลที่เป็นปุ่มลัดเช่น Esc (เมนู Roblox) ห

การตั้งค่าเหล่านี้เป็นการตั้งค่าเริ่มต้นของ Roblox แต่คุณสามารถเปลี่ยนแปลงได้ด้วยสคริปต์ที่กำหนดเอง ส่วนใหญ่ของผู้ใช้ Roblox คุ้นเคยกับการควบคุมเหล่านี้ดังนั้นคุณจึงควรเปลี่ยนแปลงเฉพาะในกรณีที่เหมาะสม

การป้อนข้อมูลการกระทํา
Wขึ้นย้ายไปข้างหน้า
Sลงย้อนกลับ
A ตัวอักษรย้ายซ้าย
Dย้ายขวา
ช่องว่างกระโดด
หมุนกล้องซ้ายหรือขวา
ปุ่มเมาส์ขวา เมื่อกดลง การลากเมาส์จะเคลื่อนไหวมุมมองกล้อง
ล้อเลื่อนเมาส์ ฉันOซูมกล้องเข้าหรือออก
Shift ตัวเลือกเปิด/ปิดการล็อคเมาส์ถ้า EnableMouseLockOption เปิด