Skip to Content
DocumentaçãoGuia de integração para desenvolvedoresExemplos completosExemplo Roblox · Ball Game

Exemplo Roblox · Ball Game

Baseado em Ball game open source , fornecido como ball game.rbxl. Mantém 5 segundos de espera, bola rosa empurrada por três paredes desencontradas, contato com WinPiece, bola dourada e Winner.

Examine o original

Abra e jogue no Roblox Studio; depois pare e examine scripts, avatar, cena e propriedades sem alterar o .rbxl.

Personagem, grama, paredes, base cinza e chegada originais.

Personagem, grama, paredes, base cinza e chegada originais.

GetWinner original detecta contato entre a bola e WinPiece.

GetWinner original detecta contato entre a bola e WinPiece.

Dois scripts criam a bola e detectam vitória. Roblox fornece renderização, personagem, entrada, câmera, animação, física e execução no servidor. Bola: 5×5×5 studs; grama: 18×1×74; centros das paredes: (22,17.5,34), (32,17.5,15), (21.5,17.5,-4). Valores exclusivos deste exemplo.

Ball.Touched:Connect(function(partTouching) if partTouching.Name == "WinPiece" then Ball.BrickColor = BrickColor.new("Gold") warn("Winner!") game.Workspace.Map1.PlayerWon.Value = true end end)

Para cenas simples com Part, rode este trecho somente de leitura na Command Bar com Play parado e veja Output. Malhas, texturas e esqueletos complexos precisam de tratamento próprio. Isso não exporta um jogo H5.

for _, part in ipairs(workspace:GetDescendants()) do if part:IsA("BasePart") then print(part:GetFullName(), part.Position, part.Size, part.Material, part.Transparency) end end

Mapeamento para H5

OriginalNavegador
CreateBall: wait(5), Part, Neonmain.js: espera, malha e corpo rígido dinâmico
GetWinner: Touched, PlayerWonmain.js: vitória única, bola dourada e Winner
Map1, WinPiece, nascimentolevel.js + main.js: layout, geometria e colisões, incluindo barreiras invisíveis
Grama, tijolo, metal, terra, céuenvironment.js: materiais e texturas locais
R15 Man, Pal Hair, camisa, jeansavatar.js: 15 segmentos, cabelo, sorriso, roupa e solas brancas
Humanoid/câmeramain.js, avatar.js, camera.js: movimento, salto, animação, acompanhamento, órbita e zoom
Message / HintHUD HTML/CSS e telas de início, pausa e vitória

O original carrega o avatar da conta durante a execução. Esta versão recria a aparência com geometria e texturas locais, sem importar malhas oficiais Roblox. Parts simples seguem a disposição real; outros projetos podem reutilizar modelos/texturas cuja exportação seja permitida.

Avatar de frente: cabelo, sorriso, camisa azul/preta, calça escura e solas brancas.

Avatar de frente: cabelo, sorriso, camisa azul/preta, calça escura e solas brancas.

Vista lateral do cabelo, segmentos do corpo e sapatos.

Vista lateral do cabelo, segmentos do corpo e sapatos.

Convenção do exemplo: 1 stud = 0,3 m, origem (27,15,15), raio da bola 0,75 m. Conversão, massa, atrito, amortecimento e limites de velocidade devem ser ajustados ao seu jogo.

Fase reconstruída com três obstáculos, limites e chegada.

Fase reconstruída com três obstáculos, limites e chegada.

ballBody.addEventListener('collide', event => { if (event.body !== winPiece.body || state.mode !== 'playing' || state.won) return; state.won = true; state.phase = 'finished'; pink.color.set('#fff000'); pink.emissive.set('#fff000'); glow.material.color.set('#fff54b'); document.querySelector('#status').textContent = 'Winner!'; show('won'); });

Foram adicionados toque para mover/pular, pausa, reinício, tela cheia, inspeção do avatar e aviso de WebGL indisponível. Conta Roblox, Robux, sincronização multiplayer e saves na nuvem não foram migrados. Não é um runtime Roblox completo.

Execute e teste

Extraia para ball-game-h5 com package.json na raiz. Inclui level.js, avatar.js, environment.js, camera.js, main.js, SOURCE-MAPPING.md e Lua original em reference/.

npm ci npm run dev

Abra http://127.0.0.1:5174/. O registro usou Move to Combos/ball-game-h5 na área de trabalho; adapte o caminho. Espere 5 segundos após iniciar. WASD/setas movem, espaço pula, arrastar orbita, roda dá zoom, P pausa, R reinicia e F alterna tela cheia. Inspecionar o avatar congela a rodada; voltar a retoma.

Terceira pessoa local: empurre fisicamente a bola rosa.

Terceira pessoa local: empurre fisicamente a bola rosa.

Na câmera padrão, passe pelas paredes à direita, esquerda, direita e entre no recuo final. O contato real com WinPiece deixa a bola dourada e mostra Winner. O teste local completou a vitória com teclado/física e verificou aterrissagem, pausa, reinício, câmera e inspeção do avatar.

Vitória local completa: bola dourada e Winner.

Vitória local completa: bola dourada e Winner.

Gere e publique

Pare dev e confira a saída final em http://127.0.0.1:4174/:

npm run build npm run preview

O código inclui cover.png. Crie seu jogo, mantenha seu vínculo para atualizar e repita o teste público sem servidor local. A atualização registrada de personagem/cena foi revisão 2, publicada com submission_is_current=true. Jogar Ball Game H5 , código 70261. Houve vitória online com teclado; botões móveis só tiveram teste de viewport, sem validação em celular real.

Ball Game H5 atualizado no Combos após parar o servidor local.

Ball Game H5 atualizado no Combos após parar o servidor local.


Fonte: Guia de integração de desenvolvedores Combos , verificado em 2026-10-08 com CLI v1.14.2. Os resultados são os registrados no guia original.

Last updated on