Accueil Login Register
🎯 Objectif du module : Pièces, Sons et Rotations 1. Créer le système de score (Leaderstats) 2. Créer l’objet “Pièce” & son Bruitage 3. Le Script de ramassage (Version avec Son) 4. Faire pivoter un Cylindre 🚀 Devoir pour la prochaine fois : Crée ton GDD ! Annexes (Scripts à trous) 1. Script de rotation Cylindre (à compléter) 2. Script de destruction propre (à compléter)

Roblox Studio Module 6 - Pièces, Sons et Rotations

🎯 Objectif du module : Pièces, Sons et Rotations

Dans ce module, tu vas apprendre Ă  :


1. Créer le système de score (Leaderstats)

Inchangé — Ce script va dans ServerScriptService.

game.Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local score = Instance.new("IntValue")
	score.Name = "Pieces" 
	score.Value = 0
	score.Parent = leaderstats
end)


2. Créer l’objet “Pièce” & son Bruitage

  1. Créez un Cylindre, nommez-le “Piece”, cochez Anchored.
  2. Ajouter le son : Faites un clic droit sur la pièce > Insert Object > Sound.
  3. Renommez le son en “SonPiece” et collez un ID (ex: rbxassetid://1508145469) dans la propriété SoundId.

3. Le Script de ramassage (Version avec Son)

Ce script est plus intelligent : il joue le son et cache la pièce avant de la détruire pour ne pas couper la musique !

local piece = script.Parent
local sonPiece = piece:WaitForChild("SonPiece")
local dejaRamasse = false

function onTouch(objetQuiTouche)
	local joueur = game.Players:GetPlayerFromCharacter(objetQuiTouche.Parent)

	if joueur and not dejaRamasse then
		dejaRamasse = true 
		
		-- 1. Mise Ă  jour du score
		joueur.leaderstats.Pieces.Value = joueur.leaderstats.Pieces.Value + 1
		
		-- 2. On joue le son
		sonPiece:Play()
		
		-- 3. On rend la pièce invisible et on désactive le toucher
		piece.Transparency = 1
		piece.CanCollide = false
		
		-- 4. On attend la fin du son avant de supprimer la pièce pour de bon
		sonPiece.Ended:Wait()
		piece:Destroy()
	end
end
piece.Touched:Connect(onTouch)


4. Faire pivoter un Cylindre

Attention : Un cylindre ne tourne pas sur l’axe Y (le milieu), mais sur l’axe X (le côté) !

local piece = script.Parent
local vitesse = 0.05

while true do
	-- Pour un cylindre, on utilise le PREMIER chiffre (Axe X)
	piece.CFrame = piece.CFrame * CFrame.Angles(vitesse, 0, 0)
	task.wait(0.02)
end


🚀 Devoir pour la prochaine fois : Crée ton GDD !

Ta mission principale est de créer le GDD (Game Design Document) de ton futur jeu.

C’est quoi un GDD ?
C’est le “plan d’architecte” du jeu, écrit par le créateur (toi !). Ta mission est de décrire le plus précisément possible ce que tu as dans la tête pour ton jeu, pour que n’importe quel développeur qui lit ton document sache exactement ce qu’il doit programmer et fabriquer pour toi.

Ce que tu dois décrire précisément dans ton document :


Annexes (Scripts Ă  trous)

1. Script de rotation Cylindre (à compléter)

local piece = script.Parent
local vitesse = ___ 

while true do
	-- Rappel : Pour un cylindre, c'est l'axe X !
	piece.CFrame = piece.CFrame * CFrame.Angles(___, 0, 0)
	task.wait(___) 
end

2. Script de destruction propre (à compléter)

-- Pour ne pas couper le son, on fait :
sonPiece:___() -- Jouer le son
piece.____ = 1 -- Rendre invisible
piece.CanCollide = ____ -- EmpĂŞcher de toucher Ă  nouveau
sonPiece.Ended:____() -- Attendre la fin
piece:Destroy()