Como Criar uma Roleta de Prêmios Funcional no Roblox Studio com GUI e Lua
🎮 Já pensou em deixar seu jogo no Roblox mais divertido e interativo com uma roleta de prêmios animada?
Neste post, você vai aprender como criar uma roleta giratória com sorteios reais, usando GUI, TweenService e scripts em Lua. Uma aula prática, visual e perfeita para quem está começando a desenvolver jogos no Roblox Studio.
Vamos montar juntos cada parte: a imagem da roleta, o ponteiro central, o cálculo do sorteio e a animação suave — tudo de forma fácil e explicada passo a passo!
Veja o Passo a Passo da Criação da Roleta no Roblox Studio
🎥 Assista à aula completa no vídeo abaixo:
Nele, você vai acompanhar cada passo da criação da roleta de prêmios no Roblox Studio — desde a montagem do GUI até o cálculo exato do prêmio sorteado.
💡 No final da aula, eu mostro um truque super útil que deixa a roleta girando com muito mais fluidez, sem balançar ou errar o prêmio. Imperdível!
Scripts Utilizados na Aula
Aqui você encontra os scripts completos e atualizados usados nesta aula.
Eles foram criados com foco no aprendizado de crianças e adolescentes, com lógica simples e clara — perfeitos para quem quer entender como fazer sorteios funcionais no Roblox sem complicação.
Basta copiar, colar no Roblox Studio e testar sua própria roleta!
Server Script
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RemoteEvent= ReplicatedStorage:WaitForChild("RemoteEvent")
local PlayerData={}
RemoteEvent.OnServerEvent:Connect(function(player,data)
print("Recebi um premio lá do cliente")
print(player)
print(data)
PlayerData[player.UserId].moedas += data
print(PlayerData)
RemoteEvent:FireClient(player, PlayerData[player.UserId].moedas)
end)
Players.PlayerAdded:Connect(function(player)
PlayerData[player.UserId] = {moedas=0}
print(PlayerData)
end)
LocalScript - Gui Moedas
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RemoteEvent= ReplicatedStorage:WaitForChild("RemoteEvent")
local TextLabel = script.Parent.Frame.TextLabel
RemoteEvent.OnClientEvent:Connect(function(data)
print("Gui moedas eu recebi um alerta")
print(data)
TextLabel.Text= data
end)
LocalScript - Roleta
local TweenService = game:GetService("TweenService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RemoteEvent= ReplicatedStorage:WaitForChild("RemoteEvent")
local girando = false
local premios = {1,10,20,100,40000}
local totalpremios = #premios
local voltas =10
local FrameRoleta = script.Parent.FrameRoleta
local Roleta = FrameRoleta:WaitForChild("ImageLabel")
local Button = script.Parent.FrameButton.TextButton
local anguloAtual = 0
local function GirarRoleta()
print("Girar a roleta")
local anguloPorSetor = 360/totalpremios
local anguloAleatorio = math.random(0,359)
print(anguloAleatorio)
local anguloNovo = 360 * voltas + anguloAleatorio
anguloAtual += anguloNovo
local tweenInfo = TweenInfo.new(4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
local tween = TweenService:Create(Roleta, tweenInfo, {Rotation = - anguloAtual})
tween:Play()
local anguloVisivel = anguloAtual % 360
local anguloAjustado = (anguloVisivel + anguloPorSetor /2) % 360
local indicePremio = math.round(anguloAjustado/ anguloPorSetor) % totalpremios + 1
print(indicePremio)
tween.Completed:Connect(function()
local premio = premios[indicePremio]
print("Parabéns você ganhou".. premio)
RemoteEvent:FireServer(premio)
end)
end
Button.MouseButton1Up:Connect(function()
if girando then return end
girando=true
GirarRoleta()
wait(7)
girando=false
end)
Imagens utilizadas


Quer aprender ainda mais?
💻 No nosso site você encontra cursos completos de programação para crianças e adolescentes, com apostilas, desafios e certificado gratuito!
👉 Acesse agora: https://programacaoforkids.com.br/cursos/
Já conhece o nosso canal no Youtube?
Se inscreva no canal Programação for Kids no YouTube e receba toda semana aulas novas sobre como criar jogos, apps e sistemas incríveis no Roblox Studio!
🎥 Inscreva-se aqui: https://youtube.com/@programacaoforkids
🎥 Outros tutoriais que você pode gostar:

Combo Futuro Programador

Combo do Zero ao Primeiro Jogo

Curso Programação Roblox Completo







