Skip to Content
DocumentationGuide d’intégration développeurExemples completsExemple Roblox · Ball Game

Exemple Roblox · Ball Game

Basé sur Ball game open source , fourni en ball game.rbxl. Les règles restent : attendre 5 secondes, pousser la balle rose entre trois murs décalés, toucher WinPiece, rendre la balle dorée et afficher Winner.

Examiner l’original

Ouvrez et jouez dans Roblox Studio, puis arrêtez et inspectez scripts, avatar, scène et propriétés sans modifier le .rbxl.

Personnage, herbe, murs, socle gris et arrivée d’origine.

Personnage, herbe, murs, socle gris et arrivée d’origine.

GetWinner d’origine détecte le contact balle–WinPiece.

GetWinner d’origine détecte le contact balle–WinPiece.

Deux scripts gèrent apparition et victoire ; Roblox fournit rendu, personnage, entrées, caméra, animation, physique et environnement serveur. Balle : 5×5×5 studs ; herbe : 18×1×74 ; centres des murs : (22,17.5,34), (32,17.5,15), (21.5,17.5,-4). Ces valeurs sont propres à cet exemple.

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)

Pour une scène Part simple, cet extrait en lecture seule affiche les propriétés dans Output depuis Command Bar, Play arrêté. Maillages complexes, textures et squelettes demandent un traitement distinct. Il n’exporte pas un jeu H5 jouable.

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

Correspondance avec H5

OriginalNavigateur
CreateBall : wait(5), Part, Neonmain.js : délai, maillage et corps rigide dynamique
GetWinner : Touched, PlayerWonmain.js : victoire unique, balle dorée, Winner
Map1, WinPiece, apparitionlevel.js + main.js : disposition, géométrie, collisions, barrières invisibles incluses
Herbe, briques, métal, terre, cielenvironment.js : matériaux et textures locales
R15 Man, Pal Hair, haut, jeanavatar.js : 15 segments, cheveux, sourire, vêtements et semelles blanches
Humanoid/caméramain.js, avatar.js, camera.js : mouvement, saut, animation, suivi, orbite, zoom
Message / HintHUD HTML/CSS, écrans de départ, pause et victoire

L’original charge l’avatar du compte à l’exécution. Cette version reconstruit son apparence avec géométrie et textures locales, sans importer les maillages officiels Roblox. Les Parts suivent la disposition réelle ; d’autres projets peuvent réutiliser des modèles/textures autorisés à l’export.

Avatar de face : cheveux, sourire, haut bleu-noir, pantalon sombre et semelles blanches.

Avatar de face : cheveux, sourire, haut bleu-noir, pantalon sombre et semelles blanches.

Vue latérale des cheveux, segments du corps et chaussures.

Vue latérale des cheveux, segments du corps et chaussures.

Convention : 1 stud = 0,3 m, origine (27,15,15), rayon 0,75 m. Conversion, masse, friction, amortissement du roulement et vitesse maximale doivent être réglés pour votre jeu.

Niveau reconstruit avec trois obstacles, limites et arrivée.

Niveau reconstruit avec trois obstacles, limites et arrivée.

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

Ajouts Web : déplacement/saut tactiles, pause/reprise, nouvelle partie, plein écran, inspection de l’avatar et message WebGL indisponible. Comptes Roblox, Robux, synchronisation multijoueur et sauvegardes cloud ne sont pas migrés. Ce n’est pas un runtime Roblox complet.

Lancer et vérifier

Extrayez dans ball-game-h5 avec package.json à la racine. Sont inclus level.js, avatar.js, environment.js, camera.js, main.js, SOURCE-MAPPING.md et les Lua d’origine dans reference/.

npm ci npm run dev

Ouvrez http://127.0.0.1:5174/. L’essai utilisait Move to Combos/ball-game-h5 sur le Bureau ; adaptez le chemin. Après le départ, attendez 5 secondes. WASD/flèches déplacent, espace saute, glisser fait tourner la caméra, molette zoome, P met en pause, R recommence, F passe en plein écran. L’inspection de l’avatar fige la manche ; revenir la reprend.

Vue locale à la troisième personne : pousser physiquement la balle rose.

Vue locale à la troisième personne : pousser physiquement la balle rose.

Depuis la caméra initiale, contournez les murs à droite, à gauche, à droite, puis entrez dans le renfoncement final. Le contact avec WinPiece rend la balle dorée et affiche Winner. Le test local a obtenu une victoire au clavier/physique et vérifié réception des sauts, pause, nouvelle partie, caméra et inspection.

Victoire locale complète : balle dorée et Winner.

Victoire locale complète : balle dorée et Winner.

Générer et publier

Arrêtez dev et vérifiez la sortie finale sur http://127.0.0.1:4174/ :

npm run build npm run preview

Les sources incluent cover.png. Créez votre jeu, gardez l’association pour les mises à jour et retestez le lien public sans serveur local. La mise à jour personnage/scène documentée est la révision 2, publiée avec submission_is_current=true. Jouer à Ball Game H5 , code 70261. Une victoire en ligne au clavier a été obtenue ; les boutons mobiles ont seulement été contrôlés en viewport, sans téléphone réel.

Ball Game H5 mis à jour sur Combos, serveur local arrêté.

Ball Game H5 mis à jour sur Combos, serveur local arrêté.


Source : Guide d’intégration Combos , vérifié le 2026-10-08 avec CLI v1.14.2. Les résultats correspondent aux essais consignés dans le guide original.

Last updated on