บทที่ 6: การควบคุมและเพิ่มอนิเมชันให้กับตัวละคร


6.1 การควบคุมตัวละคร (Character Controls)

การควบคุมตัวละครใน Roblox Studio ใช้การตั้งค่ามาตรฐานที่ผู้เล่นสามารถใช้แป้นพิมพ์หรือจอยสติ๊กในการเคลื่อนที่ในเกม แต่หากคุณต้องการกำหนดการควบคุมเพิ่มเติมหรือสร้างสคริปต์เฉพาะเพื่อควบคุมตัวละคร คุณสามารถใช้ สคริปต์ (Scripts) เพื่อทำได้

การใช้สคริปต์ควบคุมตัวละคร:

  1. คลิกขวาที่ตัวละครในแถบ Explorer
  2. เลือก Insert Object (แทรกวัตถุ) แล้วเลือก Script (สคริปต์)
  3. ในหน้าต่างสคริปต์ คุณสามารถเขียนคำสั่งการควบคุมที่เฉพาะเจาะจง เช่น การเพิ่มความเร็วในการวิ่ง, การกระโดด, หรือการควบคุมการเคลื่อนไหวในทิศทางต่าง ๆ

ตัวอย่าง: คุณสามารถเขียนสคริปต์เพื่อให้ตัวละครสามารถวิ่งได้เมื่อกดปุ่ม Shift ดังนี้:


local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local UIS = game:GetService("UserInputService")

UIS.InputBegan:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.LeftShift then
        humanoid.WalkSpeed = 32  -- เพิ่มความเร็ว
    end
end)

UIS.InputEnded:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.LeftShift then
        humanoid.WalkSpeed = 16  -- กลับไปความเร็วปกติ
    end
end)


6.2 การเพิ่มอนิเมชันให้กับตัวละคร (Character Animation)

เพื่อทำให้ตัวละครดูมีชีวิตชีวามากขึ้น เราสามารถเพิ่มอนิเมชัน (Animation) ให้กับตัวละครได้ เช่น การเดิน, การวิ่ง, การกระโดด หรือการทำท่าทางต่าง ๆ

ขั้นตอนการเพิ่มอนิเมชัน:

  1. ไปที่แถบ Explorer แล้วคลิกขวาที่ตัวละครของคุณ
  2. เลือก Insert Object (แทรกวัตถุ) แล้วเลือก Animation Controller (ตัวควบคุมอนิเมชัน)
  3. ในแถบ Properties ของ Animation Controller คุณสามารถเพิ่มไฟล์อนิเมชันที่สร้างขึ้นหรือที่ดาวน์โหลดจาก Toolbox

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

6.3 การตั้งค่าการตอบสนองจากผู้เล่น (Player Input)

เพื่อให้เกมของคุณสามารถตอบสนองต่อผู้เล่นได้ คุณสามารถใช้ UserInputService เพื่อจัดการการรับข้อมูลจากผู้เล่น เช่น การกดปุ่มต่าง ๆ หรือการใช้เมาส์ในการควบคุมตัวละคร

ขั้นตอนการตั้งค่าการตอบสนองจากผู้เล่น:

  1. เขียนสคริปต์ใน Script เพื่อรับข้อมูลจากผู้เล่น เช่น การกดปุ่มบนคีย์บอร์ด
  2. ใช้ฟังก์ชัน InputBegan (เริ่มการกดปุ่ม) และ InputEnded (สิ้นสุดการกดปุ่ม) เพื่อควบคุมพฤติกรรมของตัวละครตามคำสั่งที่ได้รับ

ตัวอย่าง: คุณสามารถตั้งค่าให้ตัวละครกระโดดเมื่อผู้เล่นกดปุ่ม Space:


local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local UIS = game:GetService("UserInputService")

UIS.InputBegan:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.Space then
        humanoid.Jump = true  -- ทำให้ตัวละครกระโดด
    end
end)


Free Joomla templates by Ltheme