Skip to Content
DocumentaciónGuía de integración para desarrolladoresEjemplos completosEjemplo Roblox · Ball Game

Ejemplo Roblox · Ball Game

Basado en Ball game open source , distribuido como ball game.rbxl. Conserva la espera de 5 segundos, empujar la bola rosa entre tres paredes desalineadas, tocar WinPiece, volver la bola dorada y mostrar Winner.

Examina el original

Abre y juega en Roblox Studio; detén y revisa scripts, avatar, escena y propiedades sin cambiar el .rbxl.

Personaje, césped, paredes, base gris y meta originales.

Personaje, césped, paredes, base gris y meta originales.

GetWinner original detecta el contacto de la bola con WinPiece.

GetWinner original detecta el contacto de la bola con WinPiece.

Dos scripts crean la bola y detectan la victoria. Roblox aporta renderizado, personaje, entrada, cámara, animación, física y entorno servidor. Bola: 5×5×5 studs; césped: 18×1×74; centros de paredes: (22,17.5,34), (32,17.5,15), (21.5,17.5,-4). Son valores exclusivos del ejemplo.

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)

En escenas Part simples, ejecuta este fragmento de solo lectura en Command Bar con Play detenido para mostrar propiedades en Output. Mallas, texturas y esqueletos complejos requieren tratamiento separado. No exporta un juego 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

Correspondencia con H5

OriginalNavegador
CreateBall: wait(5), Part, Neonmain.js: espera, malla y cuerpo rígido dinámico
GetWinner: Touched, PlayerWonmain.js: victoria única, bola dorada y Winner
Map1, WinPiece, apariciónlevel.js + main.js: disposición, geometría y colisiones, incluidas barreras invisibles
Césped, ladrillo, metal, tierra, cieloenvironment.js: materiales y texturas locales
R15 Man, Pal Hair, camiseta, jeansavatar.js: 15 segmentos, cabello, sonrisa, ropa y suelas blancas
Humanoid/cámaramain.js, avatar.js, camera.js: movimiento, salto, animación, seguimiento, órbita y zoom
Message / HintHUD HTML/CSS y pantallas de inicio, pausa y victoria

El original carga el avatar de la cuenta durante la ejecución. Esta versión lo recrea con geometría y texturas locales, sin importar mallas oficiales Roblox. Los Parts simples siguen la distribución real; otros proyectos pueden reutilizar modelos/texturas con permiso de exportación.

Avatar de frente: cabello, sonrisa, camiseta azul-negra, pantalón oscuro y suelas blancas.

Avatar de frente: cabello, sonrisa, camiseta azul-negra, pantalón oscuro y suelas blancas.

Vista lateral de cabello, segmentos del cuerpo y zapatos.

Vista lateral de cabello, segmentos del cuerpo y zapatos.

Convención: 1 stud = 0,3 m, origen (27,15,15), radio 0,75 m. Ajusta conversión, masa, fricción, amortiguación del rodamiento y límite de velocidad para tu juego.

Nivel reconstruido con tres obstáculos, límites y meta.

Nivel reconstruido con tres obstáculos, límites y meta.

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'); });

Se agregaron movimiento/salto táctil, pausa, reinicio, pantalla completa, inspección de avatar y aviso de WebGL no disponible. No se migraron cuentas Roblox, Robux, sincronización multijugador ni guardado en la nube. No es un runtime Roblox completo.

Ejecuta y prueba

Extrae en ball-game-h5 con package.json en la raíz. Incluye level.js, avatar.js, environment.js, camera.js, main.js, SOURCE-MAPPING.md y Lua original en reference/.

npm ci npm run dev

Abre http://127.0.0.1:5174/. La prueba usó Move to Combos/ball-game-h5 en el escritorio; adapta la ruta. Espera 5 segundos al iniciar. WASD/flechas mueven, espacio salta, arrastrar orbita, rueda acerca, P pausa, R reinicia y F activa pantalla completa. Inspeccionar el avatar congela la partida; volver la reanuda.

Tercera persona local: empuja físicamente la bola rosa.

Tercera persona local: empuja físicamente la bola rosa.

Desde la cámara inicial, pasa las paredes por derecha, izquierda, derecha, y entra en el hueco final. El contacto real con WinPiece vuelve dorada la bola y muestra Winner. La prueba local completó la victoria con teclado/física y revisó aterrizaje, pausa, reinicio, cámara e inspección.

Victoria local completa: bola dorada y Winner.

Victoria local completa: bola dorada y Winner.

Genera y publica

Detén dev y comprueba la salida final en http://127.0.0.1:4174/:

npm run build npm run preview

El código incluye cover.png. Crea tu juego, conserva el vínculo para actualizar y prueba el enlace público sin servidor local. La actualización documentada de personaje/escena fue revisión 2, publicada con submission_is_current=true. Jugar Ball Game H5 , código 70261. Se completó una victoria en línea con teclado; los botones móviles solo se revisaron en viewport, sin teléfono real.

Ball Game H5 actualizado en Combos, con el servidor local detenido.

Ball Game H5 actualizado en Combos, con el servidor local detenido.


Fuente: Guía de integración de Combos , revisada el 2026-10-08 con CLI v1.14.2. Los resultados corresponden a las pruebas documentadas en la guía original.

Last updated on