Narzędzia stron trzecich

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Dla profesjonalnych studiów rozwojowych ustawienie narzędzi stron trzecich i inwestycja w automatyzację może diametralnie poprawić wydajność rozwoju. Cloud-first podejście Roblox ma wiele zalet, ale przeniesienie niektórych części workfldu rozwoju poza chmurę może pomóc większym zespołom śledzić zmiany w ciągu czasu, przeglądać kod i używać języków i

Problem Synchronizacji

W swoim rdzeniu używanie zewnętrznych narzędzi z Roblox jest problemem synchronizacji :

  • Chcesz, aby Twoje skrypty Roblox istniały jako .luau pliki na dysku, abyś mógł używać własnych narzędzi do pracy nad nimi.
  • Musisz dostać swoje pliki z powrotem do swojego projektu Roblox po zakończeniu pracy nad nimi.
  • Jeśli ktoś inny zmienił te same pliki w międzyczasie, musisz rozwiązać wszelkie konflikty.

Aby całe rozwiązanie czuło się płynne i automatyczne, musisz słuchać zmian w plikach i w) wdrożyć te zmiany w Studio. Innymi słowy, potrzebujesz dodatek plug-ini wtyczki Studio, aby rozwiązać ten problem.

W odróżnieniu od podejścia cloud-first Roblox, Rojo umożliwia podejście "pierwsze systemu plików". Wystarczy wykonać wszystkie pliki skryptowe w twoim projekcie w plikach Luau. Następnie uruchom serwer. Plugin Rojo połącza się z serwerem, aby zsynchronizować te pliki z Studio.

Instalacja Rojo z Foremanem

Możesz ręcznie załadować i uruchomić binarny Rojo, ale ten podejście biegnie ryzyko różnych rozwójców na Twoim zespole, używając różnych wersji Rojo. Lepszym rozwiązaniem jest użycie konsumenta narzędzi, takiego jak Foreman, który używa pliku konfiguracji – listy repozytoriów i wersji – aby zautomatyzować proces instalacji i aktualizacji na maszynach.

Ponieważ zarządza twoim środowiskiem rozwoju podstawowego, a nie pakietami w twoim projekcie, Foreman jest bardziej podobny do nvm niż npm, ale porównanie nie jest doskonałe. Prosty foreman.toml plik wygląda jak to:


[tools]
rojo = { github = "rojo-rbx/rojo", version = "7.4.1" }
wally = { github = "UpliftGames/wally", version = "0.3.2" }

Następnie instalujesz te narzędzia za pomocą foreman install . Oprócz globalnego pliku foreman.toml , Foreman wspiera pliki projektowe, więc możesz łatwo używać różnych wersji Rojo, Wally lub dowolnego innego narzędzia dla różnych projektów i utrzymać cały swój zespół na tych samych wersjach.

Gdy narzędzie uwala nową wersję, zwiększasz wtedy wyraźnie numer wersji w swoim pliku .toml, używając Foreman, aby wykonać uaktualnienie, testować nową wersję i degrade, jeśli powoduje jakiekolwiek problemy. Dla komend i instrukcji instalacyjnych, zobacz Foreman.

Korridor biegnący

Po zainstalowaniu Rojo z Foremanem, co naprawdę zainstalowałeś, to serwer Rojo. Kolejnym krokiem jest zainstalowanie wtyczki Rojo dla Roblox Studio:


rojo plugin install

Następnie generuj strukturę projektu dla swojego nowego doświadczenia i zbuduj go:


rojo init my-new-experience
cd my-new-experience
rojo build -o my-new-experience.rbxl

Alternatywnie możesz portować już istniejące doświadczenie . W każdym razie, po tym jak masz projekt, uruchom serwer Rojo:


rojo serve

W Roblox Studio otwórz plik .rbxl, który właśnie zbudowałeś, zacznij Rojo dodatek plug-ini połącz się z twoim bieżącym serwerem, na którym możesz zacząć dokonywać zmian w swoim ulubionym edytorze tekstu i oglądać te zmiany automatycznie zsynchronizowane do Studio.

Projekty Rojo spełniają pewne wymagania dotyczące nazw dla plików, liczne opcje konfiguracji i kilka ograniczeń, wszystkie z których są opisane w Dokumentacji Rojo.

Menedżerowie Pakietów

Roblox ma solidny zestaw wbudowanych API, ale jeśli chcesz wykorzystać oprogramowanie społeczności w spójny, powtarzalny sposób, musisz mieć zarządzacz pakietami. Wally jest popularną opcją. Możesz go zainstalować za pośrednictwem Foreman, tak jak Rojo.

W katalogu Rojo swojego doświadczenia, wykonaj wally init. Następnie dodaj swoje pożądane pakiety do wally.toml . Plik może wyglądać tak:


[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"

Następnie uruchom wally install. Wally tworzy Packages dyrektorię i pobiera Packages z tamtym


{
"name": "my-new-experience",
"tree": {
"$className": "DataModel",
"ReplicatedStorage": {
"Shared": {
"$path": "src/shared"
},
"Packages": {
"$path": "Packages"
}
},
...
}
}

Następnie możesz wymagać pakietów w swoich skryptach tak jak w dowolnym innym 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)

Podobnie jak w większości innych projektów oprogramowania, celem jest, aby użytkownicy mogli klonować仓库、instalować Foreman、wykonawać kilka komend i mieć ten sam środowisko rozwojowe co reszta zespołu.

Kontrola wersji

Posiadanie zestawu plików tekstu na swoim komputerze odblokowuje różnorodne funkcje, ale główną jest kontrola wersji. Możesz przechowywać swoje skrypty i pliki konfiguracyjne w Git lub Mercurial pojemniku; hostuj remoto repositoria i

Visual Studio Code ma największy ekosystem rozszerzeń, ale Sublime Text, Notepad++ i 0> Vim0> są wszystkie popularne wybory. Niezależnie od wybranego edytora, dopasowanie zdolności Studio script editor będzie wymagać niektórych rozszerzeń.

Możesz również rozważyć dodanie:

Zasoby

Narzędzia na tej stronie są najbardziej odpowiednie dla skryptów; 3D artyści już używają zewnętrznych narzędzi, takich jak Blender i Maya, przechowywanie plików źródłowych w kontroli wersji i importowanie ich twórczości do Studio. Po posiadaniu przez Siebie zasobu Studio, zalecamy używanie pakietów za każdym razem, gdy to możliwe.

Realizacja pakietów w Roblox podąża za wieloma z tych samych zasad co narzędzia na tej stronie: centralizowanym przechowywanie z historią wersji, które oferuje bezproblemowy sposób utrzymywania wszystkich kopii zasobu w równolegle. Aby uzyskać więcej informacji o tym, jak mogą poprawić twoją pracę, zobacz Pakiety.

Rozdzakodowywanie wszystkiego

Ponieważ narzędzia stron trzecich synchronizują zmiany z powrotem do Roblox Studio, a nie je zastępują, żadna część tego workflowu nie wiąże się z żadnym zablokowaniem. W dowolnym momencie możesz zatrzymać używanie jednej lub wszystkich tych narzędzi i powrócić do edytowania swojego doświadczenia wyłącznie w Studio. Brak ryzyka czyni eksperymentowanie z narzędziami stron trzecich szczególnie atrakcyjnym