ในการเขียนโค้ด, ตัวแปร คือคำแทนที่สำหรับข้อมูลประเภทต่างๆ ในประสบการณ์ของคุณ เช่น ชื่อผู้เล่น, คะแนนของทีม หรือคำสำหรับเกมเล่าเรื่อง ในบทนี้ เราจะสำรวจวิธีการเปิดสคริปต์หลักสำหรับการเล่นเกมหลักของประสบการณ์และเพิ่มโค้ดเพื่อถามคำถามผู้เล่นและใช้คำตอบของพวกเขาสำหรับเรื่องราวของคุณ
เปิดสคริปต์
ผู้สร้าง Roblox เขียนโค้ดภายใน สคริปต์ ที่บอก Studio ว่าจะเพิ่มพฤติกรรมที่กำหนดเองให้กับประสบการณ์อย่างไรและเมื่อไหร่ เช่น การกระตุ้นเหตุการณ์ประเภทต่างๆ, การบันทึกข้อมูลผู้เล่น หรือการเกิดศัตรู สคริปต์ Roblox ใช้ภาษาโปรแกรม Luau ซึ่งคุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับในภายหลังในซีรีส์ พื้นฐานการเขียนโค้ด
เทมเพลตเกมเล่าเรื่องใช้สคริปต์เดียวชื่อ StoryManager เพื่อควบคุมการเล่นเกมหลักของประสบการณ์ สคริปต์นี้มีโค้ดบางส่วนที่จำเป็นในการแสดงเรื่องราวทั้งหมดให้กับผู้เล่น แต่คุณจะเพิ่มอีกเพื่อแสดงเรื่องราวเชิงโต้ตอบของคุณ
เพื่อเปิดสคริปต์ StoryManager:
ในหน้าต่าง Explorer ให้คลิกที่ลูกศรถัดจาก StarterGui เพื่อดูทุกสิ่งที่มันมี GameGui จะแสดง
คลิกที่ลูกศรถัดจาก GameGui เพื่อดูทุกสิ่งที่มันมี สคริปต์ StoryManager จะแสดงที่ด้านบนพร้อมกับสิ่งอื่นๆ ที่ไม่สำคัญสำหรับบทเรียนนี้

ดับเบิลคลิกที่สคริปต์ StoryManager โค้ดของสคริปต์จะแสดง
-- GLOBAL VARIABLESlocal storyMaker = require(script:WaitForChild("StoryMaker"))-- Code controlling the gamelocal playing = truewhile playing dostoryMaker:Reset()-- Code story between the dashes-- =============================================-- =============================================-- Add the story variable between the parenthesis belowstoryMaker:Write()-- Play again?playing = storyMaker:PlayAgain()end
สังเกตว่ามีส่วนใหญ่ของโค้ดใช้สัญลักษณ์ -- ซึ่งเรียกว่าเป็น ความคิดเห็น ผู้เขียนโค้ดใช้ความคิดเห็นเพื่อทิ้งโน้ต และพวกมันไม่เปลี่ยนแปลงวิธีการทำงานของสคริปต์ สำหรับบทเรียนนี้ คุณจะสร้างโค้ดของคุณระหว่างความคิดเห็นที่เป็นเส้นประเพื่อให้คุณสามารถมุ่งเน้นในการสร้างเรื่องราวเชิงโต้ตอบของคุณได้ในที่เดียว
ถามคำถามผู้เล่น
ในฐานะแนวทางปฏิบัติที่ดีที่สุด ผู้เขียนโค้ดสร้างตัวแปรด้วยชื่อที่อธิบายประเภทของข้อมูลที่พวกเขาจัดเก็บ ตัวอย่างเช่น ถ้าคุณกำลังทำงานในเกมที่ผู้เล่นถูกแบ่งออกเป็นทีม:
- ตัวแปร team จัดเก็บข้อมูลเกี่ยวกับ ทีม ของผู้เล่น
- ตัวแปร teamColor จัดเก็บข้อมูลเกี่ยวกับ สีทีม ของผู้เล่น
- ตัวแปร teamScore จัดเก็บข้อมูลเกี่ยวกับ คะแนนทีม ของผู้เล่น
ตัวแปรสามารถเก็บข้อมูลประเภทต่างๆ เช่น จำนวนเล็กน้อย, ค่าจริงหรือเท็จ, และสตริง ตัวแปรประเภทสตริงมีความพิเศษเพราะพวกมันสามารถเก็บประโยคทั้งหมด รวมถึงคำถามที่คุณต้องการถามผู้เล่นของคุณ
โดยใช้คำแทนจากบทก่อนหน้า คุณสามารถสร้างตัวแปรประเภทสตริงด้วยชื่อแทนที่อธิบายประเภทคำที่คุณจะถามผู้เล่นเมื่อพวกเขาเล่นเกมเล่าเรื่องของคุณ
เพื่อสร้างตัวแปรสำหรับคำถามของผู้เล่นของคุณ:
คลิกด้านล่างความคิดเห็นที่เป็นเส้นประและสร้างตัวแปรท้องถิ่นสำหรับคำแรกที่คุณต้องการให้ผู้เล่นแทนที่ด้วยคำตอบของตนเอง ตัวอย่างเช่น:
-- =============================================local name1-- =============================================กำหนดตัวแปรโดยใช้สัญลักษณ์ = กับวิธี storyMaker:GetInput() ที่แสดงคำถามของคุณในหนังสือขนาดใหญ่ คุณต้องพิมพ์วิธีนี้ให้ถูกต้องตามที่มันเป็นพร้อมการใช้อักษรตัวใหญ่เฉพาะ เพื่อให้โค้ดทำงาน ตัวอย่างเช่น:
-- =============================================local name1 = storyMaker:GetInput()-- =============================================สร้างสตริงในวงเล็บพร้อมคำถามที่คุณต้องการถามผู้เล่นของคุณ จำไว้ว่า สตริงจะต้องอยู่ในเครื่องหมายคำพูดเสมอ!
-- =============================================local name1 = storyMaker:GetInput("คำที่คุณชอบคืออะไร?")-- =============================================
ใช้คำตอบของพวกเขา
ตอนนี้ที่คุณมีคำถามที่ผู้เล่นสามารถตอบได้ ถึงเวลาเขียนโค้ดเรื่องราวของคุณและเพิ่มพฤติกรรมที่แทนที่คำแทนของคุณด้วยคำตอบของพวกเขา
เพื่อสร้างตัวแปรสำหรับเรื่องราวของคุณและใช้คำตอบของผู้เล่น:
ใต้คำถามของคุณ สร้างตัวแปรใหม่ชื่อ story จำไว้ว่า ตัวแปรต้องใช้ตัวพิมพ์เล็ก!
-- =============================================local name1 = storyMaker:GetInput("คำที่คุณชอบคืออะไร?")local story-- =============================================ตั้งค่าตัวแปรประเภทสตริงของคุณเป็นประโยคแรกของเรื่องราวของคุณก่อนคำแทนแรก โดยเว้นวรรค์หลังคำสุดท้ายและก่อนเครื่องหมายคำพูด ถ้าคำแทนของคุณอยู่กลางประโยค คุณสามารถเพิ่มประโยคที่เหลือในบทเรียนถัดไปของการสอน
-- =============================================local name1 = storyMaker:GetInput("คำที่คุณชอบคืออะไร?")local story = ("บนต้นไม้บนเนินเขามีพ่อมดที่ยิ่งใหญ่ ")-- =============================================รวมสตริงแรกของเรื่องราวกับคำตอบของผู้เล่นโดยใช้ .. การรวมกันเรียกว่า การต่อสาย
- ในบรรทัดเดียวกับตัวแปร story เพิ่มจุดสองจุด
- เพิ่มช่องว่าง แล้วพิมพ์ชื่อของตัวแปรที่เก็บคำตอบแรกของผู้เล่น
-- =============================================local name1 = storyMaker:GetInput("คำที่คุณชอบคืออะไร?")local story = ("บนต้นไม้บนเนินเขามีพ่อมดที่ยิ่งใหญ่ " .. name1)-- =============================================แสดงส่วนแรกนี้ของเรื่องราวให้ผู้เล่นโดยการเรียกตัวแปรเรื่องราวจากวิธี storyMaker:Write() ที่เขียนเรื่องราวของคุณในหนังสือขนาดใหญ่
-- =============================================local name1 = storyMaker:GetInput("คำที่คุณชอบคืออะไร?")local story = ("บนต้นไม้บนเนินเขามีพ่อมดที่ยิ่งใหญ่ " .. name1)-- =============================================-- =============================================storyMaker:Write(story)
ตอนนี้เป็นเวลาที่ยอดเยี่ยมที่จะหยุดชั่วคราว ทำการทดสอบการเล่นในบทถัดไป และตรวจสอบว่าเรื่องราวทำงาน!