Aller au contenu
← Retour aux fiches

Introduction à la Programmation dans Roblox

Qu'est-ce que Roblox Studio ?

Roblox Studio est l'environnement de développement intégré pour créer des jeux sur la plateforme Roblox. Il permet aux utilisateurs de créer des jeux en utilisant le langage de programmation Lua.

Bases de Lua pour Roblox

Lua est un langage de programmation léger utilisé dans Roblox pour scripter les interactions dans les jeux. C'est un langage simple avec une syntaxe facile à apprendre.

Concepts de Base de Lua

Variables et Types de Données

local nombre = 10
local nom = "Roblox"
local estVrai = true

Structures de Contrôle (if, for, while)

if nombre > 5 then
    print("Plus grand que 5")
end

for i = 1, 5 do
    print("Numéro " .. i)
end

local j = 5
while j > 0 do
    print(j)
    j = j - 1
end

Fonctions

local function saluer(nom)
    print("Bonjour, " .. nom)
end
saluer("Joueur")

Manipulation des Parties

Déplacer une Partie de A à B

local part = game.Workspace.Part
part.Position = Vector3.new(50, 10, 20)

Rotation et Mise à l'échelle des Parties

part.CFrame = part.CFrame * CFrame.Angles(0, math.rad(90), 0)
part.Size = Vector3.new(2, 2, 2)

Interactions avec le Joueur

Détecter les collisions

part.Touched:Connect(function(hit)
    print("Touche: " .. hit.Name)
end)

Réponse aux Entrées du Clavier

game.Players.LocalPlayer:GetMouse().KeyDown:Connect(function(key)
    if key == "f" then
        print("La touche F a été pressée.")
    end
end)

Systèmes de Score et Collectibles

local collectible = game.Workspace.Collectible
collectible.Touched:Connect(function(hit)
    local player = game.Players:GetPlayerFromCharacter(hit.Parent)
    if player then
        collectible:Destroy()
        player.leaderstats.Score.Value += 5
    end
end)

Concepts Avancés

Utilisation des Services (TweenService, PathfindingService)

local tweenService = game:GetService("TweenService")
local part = game.Workspace.Part
local goal = {}
goal.Position = Vector3.new(100, 10, 100)
local tweenInfo = TweenInfo.new(5)
local tween = tweenService:Create(part, tweenInfo, goal)
tween:Play()

Gérer les Événements avec les Connecteurs

part.Touched:Connect(function(hit)
    if hit:IsA("Player") then
        print("Joueur touché")
    end
end)

Optimisations et Bonnes Pratiques

-- Utiliser local autant que possible
-- Éviter les boucles infinies
-- Préférer les connexions avec des fonctions nommées pour faciliter le débogage

Exemples de Jeux

Jeu de Plateforme: Déplacer des Plateformes, Sauter

local platform = game.Workspace.MovingPlatform
platform.Touched:Connect(function(hit)
    local player = game.Players:GetPlayerFromCharacter(hit.Parent)
    if player then
        player.Character.Humanoid.JumpPower = 50
        player.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
    end
end)

Jeu d'Aventure: Collecter des Objets, Explorer

local treasure = game.Workspace.Treasure
treasure.Touched:Connect(function(hit)
    print("Trésor collecté par: " .. hit.Parent.Name)
end)

Jeu Multijoueur: Scores, Mort par Toucher

local lava = game.Workspace.Lava
lava.Touched:Connect(function(hit)
    local player = game.Players:GetPlayerFromCharacter(hit.Parent)
    if player then
        player.leaderstats.Lives.Value -= 1
        if player.leaderstats.Lives.Value <= 0 then
            player:Kick("Vous êtes mort !")
        end
    end
end)

À explorer

Des ressources pour essayer une nouvelle idée.