Üçüncü Taraf Araçları

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Profesyonel geliştirme stüdyoları için üçüncü parti araçları kurmak ve otomatikleştirmeye yatırım yapmak, geliştirme sürecindeki geliştiricilerin üretkenliğini önemli ölçüde artırabilir. Roblox'un bulut-ilk yaklaşımının birçok avantajı vardır, ancak geliştirme iş akışının

Eşzamanlama Problemleri

Çekirdeğinde, Roblox ile dış araçları kullanmak bir 同步 problemidir:

  • Roblox kaynaklarınızın diskin üzerinde .luau dosyaları olarak mevcut olmasını istiyorsunuz, böylece kendi araçlarınızı onlarda çalıştırabilirsiniz.
  • Onların üzerinde çalıştıktan sonra dosyalarınızı Roblox projenize geri almalısınız.
  • Eğer başka birisi bu sırada aynı dosyaları değiştirdiyse, herhangi bir çatışma ile ilgilenmelisiniz.

Tüm çözümün işlevsel ve otomatik olması için, değişiklikleri dosyalara dinlemel ve) b) değişiklikleri Studio'ya entegre etmelisiniz. Diğer bir deyişle, bir sunucuya ve bir Studio eklentisine ihtiyacınız var, böylece Rojo ile bu sorunu çözebilirsiniz.

Roblox'un bulut-ilk yaklaşımından farklı olarak, Rojo "dosya sistemi-ilk" yaklaşımını destekler. Tüm proje dosyalarınızı Luau dosyalarına yazıştırır. Sonra bir sunucuyu başlatır. Rojo eklentisi Studio ile bu dosyaları senkronize etmek için sunucuya bağlanır.

Rojo'yu Foreman ile Kurulan

Manuel olarak bir Rojo binariesini yükleyip çalıştırabilirsiniz, ancak bu yaklaşım farklı Rojo versiyonlarını takımınızda kullanan farklı geliştiricilerin riskini alır. Daha iyi bir çözüm, Foreman gibi bir yönetim aracını kullanmak, bir yapılandırma dosyasının - bir liste of depo ve sürümleri

Projenizin paketleri içinde değil, temel geliştirme ortamınızı yönettiği için, Foreman npm'den daha çok nvm benzer. Ancak karşılaştırma mükemmel değil. Bir basit foreman.toml dosyası şu gibi görünür:


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

Ardından bu araçları foreman install ile yükleyin. Ayrıca bir global foreman.toml dosyasına ek olarak, Foreman proje başına farklı versiyonları Rojo, Wally veya herhangi bir başka araç kullanabilirsiniz ve tüm ekibinizi aynı versiyonlarda tutabilirsiniz.

Bir araç yeni bir sürüm serbest bırakırsa, bunu .toml dosyasındaki versiyon numarasını açık olarak arttırırsınız, Foreman'ı kullanarak yükseltmeyi, yeni versiyonu test ediyorsunuz ve herhangi bir sorun yaratıyorsa yükseltmeyi yeniden sürüklemeyi kullanırsınız. Komut ve yükleme talimatları için,

Rojo'yu Çalıştırma

Foreman ile Rojo'yu kurduktan sonra, gerçekten yüklediğiniz şey Rojo sunucusu. Sonraki adım Roblox Studio için Rojo eklentisini yüklemektir:


rojo plugin install

Ardından yeni deneyiminiz için proje yapısı oluşturun ve inşa edin:


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

Alternatif olarak, mevcut bir deneyimi port edebilirsiniz. Her iki yönde de, bir projeye sahip olduktan sonra Rojo sunucusunu başlatın:


rojo serve

In Roblox Studio, yeni oluşturduğunuz .rbxl dosyasını açın, Rojo eklentisini başlatın ve şimdi çalışan sunucunuza bağlayın, bu noktada seçili metin editörünüzde değişiklik yapmaya başlayabilir ve değişiklikleri Studio'a otomatik olarak yükleyin.

Rojo projelerinin dosyalar için belirli adlandırma gereksinimleri, sayısız yapılandırma seçeneği ve bazı sınırlamaları vardır, tümü Rojo dokümanında açıklanmıştır.

Paket Yöneticileri

Roblox'un güçlü bir dizi dahil API'si var, ancak topluluk yazılım paketlerini tutarlı, yeniden kullanılabilir bir şekilde kullanmak istiyorsanız, bir paket yöneticisiye ihtiyacınız var. Wally popüler bir seçenektir. Onu Foreman aracılığıyla yükleyebilirsiniz, tıpkı Roblox'un yaptığı gibi.

Tecrübenizin Rojo dizininde, wally init ı çalıştırın. Ardından istediğiniz paketleri wally.toml 'e ekleyin. Dosya şu gibi görünebilir:


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

Sonra şunu yap: wally install. Wally, bir Packages dizinini oluşturur ve belirli paketleri


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

O zaman senin ModuleScript içindeki paketleri herhangi bir başka Class.ModuleScript gibi gerektirebilirsin:


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)

Diğer çoğu yazılım projesi gibi, hedef katkıda bulunanların bir deposu klon etmesi, Foreman'ı yüklemesi, birkaç komut çalıştırması ve diğer takım üyeleriyle aynı geliştirme ortamına sahip olmasıdır.

Versiyon Kontrolü

Bir bilgisayarda bir dizi basit metin dosyası oluşturmak, çeşitli yeteneklerin kilidini açar, ancak anahtarı versiyon kontrolü vardır. Skriptlerinizi ve yapılandırma dosyalarınızı bir Git veya Mercur

Visual Studio Code en büyük uzantı ekosistemine sahiptir, ancak Sublime Text , Notepad++ ve 0> Vim0> gibi popüler seçenekleri vardır. Studio kodu editörünü seçerseniz, Studio kodu özelliklerine uyan uzantı ekosistemi gerektirecektir.

Ayrıca eklemek isteyebilirsiniz:

Varlıklar

Bu sayfadaki araçlar en çok kullanıcılara uygulanır; 3D sanatçıları zaten Blender ve Maya gibi dış araçları kullanır, kaynağı kontrol içinde saklar ve yaratıklarını Studio'a ithal eder. Studio'a bir Studio varlığı oluşturduktan sonra, mümkün olduğunda paketler yapmayı öneririz.

Roblox paketlerinin aynı fikirleri çoğu araç sayfasındaki araçlarla aynıdır: Merkezi bir depo sunucusu, tüm kopyalarınızı senkronize etmenin akışkan bir yolunu sunar. İş akışınızı nasıl geliştirebileceğiniz hakkında daha fazla bilgi için Paketler bakın.

Hepsini Geri Almak

Üçüncü parti araçların değişikliklerini Roblox Studio'ya yeniden senkronize etmeyi yerine, bu iş akışının hiçbir kısmı açık kalmaz. Bu iş akışında herhangi bir kilitlendirme yoktur. Herhangi bir zaman, bir veya tüm bu araçları deneyebilir ve deneyiminizi Studio'da yalnızca değiştirmeye odaklanır. üçüncü parti araçların risk