Roblox, การติดตั้งเครื่องมือของบุคคลที่สาม และการลงทุนในการอัตโนมัติสามารถปรับปรุงประสิทธิภาพของนักพัฒนาได้อย่างมาก การย้
ปัญหาการซิงค์
ในแกนหลักของมัน, การใช้เครื่องมือของบุคคลที่สามด้วย Roblox เป็นปัญหา ซิงค์ ปัญหา:
- คุณต้องการให้สคริปต์ Roblox ของคุณมีอยู่ในรูปแบบ .luau บนดิสก์เพื่อให้คุณสามารถใช้เครื่องมือของคุณเองเพื่อทำงานกับพวกเขา
- คุณต้องนำไฟล์ของคุณกลับไปที่โครงการ Roblox ของคุณหลังจากที่คุณจะทำงานบนพวกเขาเสร็จแล้ว
- หากมีคนอื่นเปลี่ยนไฟล์เหล่านี้ในระหว่างนั้น คุณต้องจัดการกับความขัดแย้งใด ๆ
สำหรับทั้งหมดของการแก้ปัญหาที่รู้สึกเหมือนอัตโนมัติและเสร็จสิ้น, คุณต้อง a) ปลั๊กอินb) นำเปลี่ยนแปลงเหล่านี้กลับไปใน Studio ของคุณ ในคำอื่น, คุณต้องมีเซ
ในขณะที่ Roblox ใช้ประชากรในเมฆก่อน แต่ Rojo อนุญาตให้มีการเขียนโปรแกรม "ระบบไฟล์" ก่อน มันจะดึงข้อมูลทั้งหมดของสคริปต์ในโครงการของคุณเป็นไฟล์ Luau แล้วจัดการเซิร์ฟเวอร์ ปลั๊กอิน
การติดตั้ง Rojo ด้วย Foreman
คุณสามารถดาวน์โหลดและดำเนินการ Rojo ได้อย่างอัตโนมัติ แต่วิธีการนี้มีความเสี่ยงต่อการใช้งานของผู้พัฒนาที่แตกต่างกันในทีมของคุณโดยใช้เวอร์ชัน Rojo ที่แตกต่างกัน
เนื่องจากมันจัดการสภาพแวดล้อมการพัฒนาพื้นฐานของคุณมากกว่าแพ็กเกจภายในโครงการของคุณ, ฟอร์แมนเป็นเหมือน nvm มากกว่า npm แต่การเปรียบเทียบไม่สมบูรณ์แบ
[tools]
rojo = { github = "rojo-rbx/rojo", version = "7.4.1" }
wally = { github = "UpliftGames/wally", version = "0.3.2" }
จากนั้นคุณติดตั้งเครื่องมือเหล่านี้ด้วย foreman install นอกจากไฟล์ foreman.toml แล้ว โฟรแมนยังสนับสนุนไฟล์ระดับโครงการ ดังนั้นคุณจึงสามารถใ
เมื่อเครื่องมือปล่อยเวอร์ชันใหม่ออกมา คุณจะต้องเพิ่มหมายเลขเวอร์ชันในไฟล์ .toml ของคุณ แล้วใช้ Foreman เพื่อดำเนินการอัปเกรด ทดสอบเวอร์ชันใหม่ และอัพเกรดหากมีปัญหา
การประมวลผล Rojo
หลังจากติดตั้ง Rojo ด้วย Foreman, สิ่งที่คุณติดตั้งจริงคือเซิร์ฟเวอร์ Rojo ของ Rojo คุณต้องใช้ขั้นตอนต่อไปคือ ติดตั้งปลั๊กอิน Rojo สำหรับ Roblox Studio:
rojo plugin install
จากนั้นสร้างโครงสร้างโครงการสำหรับประสบการณ์ใหม่ของคุณและสร้างมัน:
rojo init my-new-experiencecd my-new-experiencerojo build -o my-new-experience.rbxl
หรือคุณสามารถ โปรตประสบการณ์ที่มีอยู่ได้ ทั้งสองวิธีนี้หลังจากที่คุณมีโครงการเริ่มเซิร์ฟเวอร์ Rojo:
rojo serve
ใน Roblox Studio, เปิดไฟล์ .rbxl ที่คุณเพิ่งสร้างและเริ่มปลั๊กอิน Rojo และเชื่อมต่อกับเซิร์ฟเวอร์ที่คุณกำลังปฏิบัติงานอยู่ในขณะนี้ เมื่อคุณเริ่มทำการเปลี่ยนแปลงในเว็ดมันเ
โครงการ Rojo มีข้อกำหนดในการตั้งชื่อสำหรับไฟล์ ตัวเลือกการกำหนดค่ามากมาย และข้อจํากัดบางประการ ทั้งหมดนี้ได้รับการรวมอยู่ใน คู่มือ Rojo
ผู้จัดการแพ็กเกจ
Roblox มีชุดของ API ที่รวมอยู่มากมาย แต่หากคุณต้องการใช้ซอฟต์แวร์ชุดชุมชนในวิธีที่เป็นระเบียบร่อน, คุณต้องการผู้จัดการแพ็กเกจ Wally เป็นตัวเลือกที่นิยม
ในไดเรกทอรี Rojo ของประสบการณ์ของคุณ, วิ่ง wally init . แล้วเพิ่มแพ็กเกจที่ต้องการของคุณไปยัง wally.toml . ไฟล์อาจดูเหมือนนี้:
[package]
name = "my-home-directory/my-new-experience"
version = "0.1.0"
registry = "https://github.com/UpliftGames/wally-index"
realm = "shared"
[dependencies]
react = "jsdotlua/react@17.1.0"
react-roblox = "jsdotlua/react-roblox@17.1.0"
cryo = "phalanxia/cryo@1.0.3"
แล้วเรียกใช้ wally install RobloxPackages แ
{
"name": "my-new-experience",
"tree": {
"$className": "DataModel",
"ReplicatedStorage": {
"Shared": {
"$path": "src/shared"
},
"Packages": {
"$path": "Packages"
}
},
...
}
}
แล้วคุณสามารถต้องการแพ็กเกจภายในสคริปของคุณเหมือน ModuleScript :
local Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local React = require(ReplicatedStorage.Packages.react)local ReactRoblox = require(ReplicatedStorage.Packages["react-roblox"])local handle = Instance.new("ScreenGui", Players.LocalPlayer.PlayerGui)local root = ReactRoblox.createRoot(handle)local helloFrame = React.createElement("TextLabel", {Text = "Hello World!",Size = UDim2.new(0, 200, 0, 200),Position = UDim2.new(0.5, 0, 0.5, 0),AnchorPoint = Vector2.new(0.5, 0.5),BackgroundColor3 = Color3.fromRGB(248, 217, 109),Font = Enum.Font.LuckiestGuy,TextSize = 24})root:render(helloFrame)
เหมือนโครงการซอฟต์แวร์อื่น ๆ เป้าหมายคือให้ผู้ร่วมมือสามารถโคลนโรงเรียน ติดตั้ง Foreman วิดีโอคำสั่งบางอย่าง และมีสภาพแวดล้อมการพัฒนาเดียวกับสมาชิกทีมอื่น ๆ
การควบคุมเวอร์ชัน
มีชุดของไฟล์ข้อความเรียบร้อยบนคอมพิวเตอร์ของคุณปลดล็อกคุณสมบัติต่างๆ ได้หลากหลาย แต่สิ่งหนึ่งสิ่งหนึ่งคือ
Visual Studio Code มีตลาดขนาดใหญ่ที่สุด แต่ Sublime Text ، Notepad++ และ 0> Vim0> เป็นตัวเลือกที่นิยมทั้งหมด สิ่งที่เลือกเอเจนต์ขนาดใหญ่จะต้องใช้การขยายเวลาบางอย่า
คุณอาจพิจารณาเพิ่ม:
- ไลเนอร์เหมือน selene เพื่อจับปัญหาทั่วไปและบังคับมาตรฐานการจัดเขียน
- ตัวแบบโค้ดเช่น StyLua
- เซิร์ฟเวอร์ภาษาเช่น Luau Language Server สำหรับการเสร็จสิ้นอัตโนมัติการตรวจสอบ และอื่น ๆ
- เปิด Cloud สคริปต์ (ไม่ได้ถูกซิงค์ไปยัง Studio) เพื่อ อัปเดตประสบการณ์ที่เผยแพร่ หรือ เริ่มตัวเซิร์ฟเวอร์ใหม่
สินทรัพย์
เครื่องมือบนหน้านี้เหมาะกับสคริปมากที่สุด; ศิลปิน 3D ใช้เครื่องมือภายนอกเช่น Blender และ Maya เก็บไฟล์ที่เป็นแหล่งในการควบคุมเวอร์ชัน และนำเข้าผลงานของพวกเขาใน Studio หลังจากที่คุณ
การใช้งาน Roblox ของแพ็กเกจติดตามหลักการเดียวกับเครื่องมือในหน้านี้: ห้องเก็บของกลางที่มีประวัติเวอร์ชันที่นำเสนอวิธีที่เหมาะสมในการเก็บรวบรวมคัดลอกของทรัพยากรทั้งหมดใน
ยกเลิกทุกอย่าง
เนื่องจากเครื่องมือของบุคคลที่สามจะซิงค์การเปลี่ยนแปลงกลับไปยัง Roblox Studio โดยไม่ต้องแทนที่มันจึงไม่มีส่วนใดของกระบวนการนี้ที่เกี่ยวข้องกับการล็อคอิน ในทุกเวลาคุณสามาร