เปอร์เซ็นต์ที่มากของเซสชัน Roblox ถูกเล่นบนอุปกรณ์ที่มีเมาส์และคีย์บอร์ด ดังนั้นจึงเป็นสิ่งสำคัญที่ต้องสนับสนุนการป้อนข้อมูลเหล่านี้เมื่อออกแบบเกมสำหรับผู้ชมจำนวนมาก
เพื่อให้เข้าใจง่ายขึ้นในเรื่องของการป้อนข้อมูล ข้ามแพลตฟอร์ม รวมถึงเมาส์/คีย์บอร์ด Roblox มี ระบบการจัดการการป้อนข้อมูล เพื่อกำหนด การกระทำ เช่น "กระโดด" "วิ่ง" หรือ "ยิง" และตั้งค่าการ ผูกข้อมูล สำหรับการป้อนข้อมูลฮาร์ดแวร์หลายรายการเพื่อขับเคลื่อนการกระทำเหล่านั้น
Roblox ยังสนับสนุนการป้อนข้อมูลทั่วไปจากเมาส์/คีย์บอร์ดผ่านเหตุการณ์ UserInputService เช่น InputBegan และ InputEnded และวิธีการเช่น IsKeyDown() เพื่อตรวจสอบว่ามีการกดปุ่มเฉพาะบนคีย์บอร์ดหรือไม่
การตรวจจับประเภทการป้อนข้อมูล
ในการพัฒนาแบบข้ามแพลตฟอร์ม สิ่งสำคัญคือคุณต้องกำหนดและตอบสนองต่อประเภท PreferredInput ที่ผู้เล่นกำลังใช้งาน ซึ่งปกติแล้วจะมุ่งเน้นเพื่อให้แน่ใจว่า องค์ประกอบ UI เช่น ปุ่มและเมนูที่ปรากฏบนหน้าจอทำงานได้อย่างสวยงามและสนับสนุนการโต้ตอบระหว่างอุปกรณ์ต่าง ๆ
ตัวอย่างเช่น คอมพิวเตอร์หรือแล็ปท็อปถือว่าการป้อนข้อมูลด้วยเมาส์/คีย์บอร์ดเป็นค่าเริ่มต้น แต่ผู้เล่นอาจเลือกเชื่อมต่อจอยสติ๊ก Bluetooth ในกรณีนี้ เมาส์/คีย์บอร์ดยังคงเป็นการป้อนข้อมูลที่ถูกต้อง แต่คุณสามารถสมมุติว่าผู้เล่นต้องการเปลี่ยนไปใช้จอยสติ๊กที่เชื่อมต่อเป็นประเภทการป้อนข้อมูล หลัก
ดู การตรวจจับประเภทการป้อนข้อมูล สำหรับข้อมูลเพิ่มเติม
การป้อนข้อมูลเมาส์/คีย์ทั่วไป
นอกเหนือจาก ระบบการจัดการการป้อนข้อมูล คุณสามารถบันทึกการป้อนข้อมูลจากเมาส์และคีย์บอร์ดโดยใช้ UserInputService สคริปต์ LocalScript ต่อไปนี้ เมื่อวางใน StarterPlayerScripts จะบันทึกช่วงเริ่มต้นและสิ้นสุดของการกดคีย์และคลิกเมาส์และพิมพ์ผลลัพธ์ลงในหน้าต่าง Output
LocalScript - ผลลัพธ์จากการเริ่มต้นและสิ้นสุดคีย์/เมาส์
local UserInputService = game:GetService("UserInputService")
local function onInputBegan(inputObject, processedEvent)
-- คืนค่าหากสคริปต์อื่นได้ประมวลผลข้อมูลการป้อนข้อมูลแล้ว
if processedEvent then return end
print(inputObject.KeyCode.Name, "เริ่มต้น!", inputObject.Position)
end
local function onInputEnded(inputObject, processedEvent)
-- คืนค่าหากสคริปต์อื่นได้ประมวลผลข้อมูลการป้อนข้อมูลแล้ว
if processedEvent then return end
print(inputObject.KeyCode.Name, "สิ้นสุด!", inputObject.Position)
end
UserInputService.InputBegan:Connect(onInputBegan)
UserInputService.InputEnded:Connect(onInputEnded)
ไอคอนเมาส์
คุณสามารถปรับแต่งลักษณะและพฤติกรรมของไอคอนเมาส์ของผู้เล่นในเกมของคุณเพื่อนำเสนอสไตล์ที่สอดคล้องกันในทุกองค์ประกอบ UI ของคุณ ซึ่งรวมถึงการเปลี่ยนไอคอนเมาส์ของผู้เล่นชั่วคราวในสถานการณ์เฉพาะ เช่น การทำให้ไอคอนอยู่เหนือปุ่ม
คุณสามารถเปลี่ยนไอคอนเมาส์ของผู้เล่นใน LocalScript โดยการตั้งค่าคุณสมบัติ MouseIcon ใน UserInputService ให้เป็น ID ของสินทรัพย์ Roblox ที่กำหนดเอง ตัวอย่างเช่น สคริปต์ LocalScript ต่อไปนี้จะเปลี่ยนไอคอนเมาส์เริ่มต้นของผู้เล่นเป็นวงกลมที่มีจุดสีน้ำเงินอยู่ตรงกลาง
local UserInputService = game:GetService("UserInputService")UserInputService.MouseIcon = "rbxassetid://3400146391"