Skip to Content
DokumentationVollständige Beispiele

Vollständige Beispiele

Die drei Projekte enthalten Erklärungen, Bilder, Downloads und dokumentierte Ergebnisse. Quellen dienen der Weiterentwicklung, dist-Archive dem Ausführen oder Veröffentlichen. Erstelle dein eigenes Spiel: Zugangsdaten und Post-Verknüpfung des Autors sind nicht enthalten.

BeispielInhalt
H5 · Star SprintHTML/JS- und Vite-Version desselben Spiels
Unity · BoatAttackNatives WebGL mit ursprünglichem Code und Assets
Roblox · Ball GameFiguren, Szene und Regeln im Browser neu implementiert

Pfade, Patches, Koordinaten und Versionen gelten für das jeweilige Projekt. Die Tests stammen vom 2026-10-08; mobile Viewport-Prüfungen ersetzen keine echten Telefontests.

H5-Beispiel · Star Sprint

Sammle in 45 Sekunden 5 Sterne, weiche 2 Robotern aus und starte mit 3 Lebenspunkten. WASD/Pfeiltasten bewegen, P pausiert, R startet neu. Mobile Viewports zeigen Richtungstasten. Die Quellen enthalten HTML/JS und Vite.

Herunterladen und starten

Entpacke in einen neuen Ordner native-h5, sodass package.json direkt darin liegt. Wechsle dorthin und wähle einen Weg:

python3 -m http.server 8000 --bind 127.0.0.1 --directory plain/dist
npm ci npm run dev

Öffne http://127.0.0.1:8000/ für die einfache Version oder http://127.0.0.1:5173/ für Vite. Dokumentiert ist Move to Combos/native-h5 auf dem Desktop; nutze deinen eigenen Pfad.

Star Sprint lokal: Start, Bewegung, Sternesammeln und Punkte prüfen.

Star Sprint lokal: Start, Bewegung, Sternesammeln und Punkte prüfen.

Testen und veröffentlichen

Starte, sammle einen Stern und prüfe den Punktestand; alle 5 führen zum Sieg. Prüfe Kollisionsschaden, Zeitablauf, Pause und Neustart. Stoppe für Vite dev, dann:

npm run build npm run preview

Prüfe http://127.0.0.1:4173/; die einfache Variante nutzt plain/dist. Veröffentliche und behalte deine combos.json.

Die dokumentierte Vite-Veröffentlichung nutzte pc,mobile, Revision 1. Star Sprint spielen , Canvas-Code 07752. Vollständige Tastatursiege wurden lokal und online erreicht. Mobile Steuerung wurde nur im Viewport geprüft, nicht auf einem echten Telefon.

Der erste gesammelte Stern auf der öffentlichen Combos-Seite.

Der erste gesammelte Stern auf der öffentlichen Combos-Seite.

Quellen und Downloads

index.html/src/style.css: Canvas, HUD, Tasten, Layout und Touch. src/main.js: Eingaben, Bewegung, Sammeln, Kollisionen, Zeit, Ergebnisse, Zeichnen. package.json/vite.config.js: Skripte und relative URLs. plain/dist: entsprechende Version ohne Build.

Dieser Ausschnitt erklärt die Punktevergabe; er ist kein verpflichtender Integrationscode:

if (!star.collected && Math.hypot( star.x - state.player.x, star.y - state.player.y ) < 35) { star.collected = true; state.score++; } if (state.health <= 0 || state.elapsed >= 45) show('lost'); else if (state.score === 5) show('won');

Beide Build-Archive enthalten index.html direkt im entpackten Stamm.

Unity-Beispiel · BoatAttack

Dieses Beispiel nutzt offizielles BoatAttack bei Commit 91886a3ef1ac963aa10578fcaf1d59e9b6961ab3. Die Basis verwendete 6000.2.0b8; angepasst wurde auf Unity 6.3 LTS 6000.3.25f1, Apple Silicon ARM64. Boote, Fahrer, Island, Wasser, Physik, KI und C# bleiben erhalten.

Beschaffen und anpassen

Installiere Git LFS, klone in einen neuen Ordner und lade große Assets. Entpacke das Anpassungsarchiv vor den beiden git apply-Befehlen in den Projektstamm. Wende den Patch nur einmal an.

git clone https://github.com/Unity-Technologies/BoatAttack.git BoatAttack cd BoatAttack git checkout 91886a3ef1ac963aa10578fcaf1d59e9b6961ab3 git lfs pull git lfs fsck git apply --check tracked-project-changes.patch git apply tracked-project-changes.patch

Wende ihn nicht erneut auf ein angepasstes Projekt an. Das Archiv enthält Versions-/Kompatibilitätsänderungen, Dokumentation und Lizenzen, keine großen Original-Assets, Library, dist oder Combos-Plugins. Für dein Spiel gilt der allgemeine Unity-Leitfaden.

Exportieren und Rennen starten

Öffne main_menu.unity, teste Menü und Einzelspielereinstellungen in Play und stoppe. Szenen: main_menu.unity (0), level_Island.unity (1). Nutze Default, Gzip + fallback und Addressables beim Player Build. Exportiere nach dist.

Ursprüngliches BoatAttack-Menü im Unity-Editor.

Ursprüngliches BoatAttack-Menü im Unity-Editor.

Einzelspielereinstellungen: Island wählen, danach das Boot konfigurieren.

Einzelspielereinstellungen: Island wählen, danach das Boot konfigurieren.

Dokumentierter Build: 18:21:57–18:26:03, 246 Sekunden, 27 Dateien, 5 Addressables-Bundles, insgesamt 127,36 MiB, größte Datei 94,58 MiB, ZIP 124,88 MiB. Die Grenzen wurden eingehalten; index.html lag direkt im ZIP-Stamm.

python3 -m http.server 8001 --bind 127.0.0.1 --directory dist

Öffne http://127.0.0.1:8001/. Folge RACE → SINGLEPLAYER → ISLAND (1 Runde) → NEXT → Boot konfigurieren → RACE. Warte auf Intro/Countdown und klicke die Spielfläche an. W/↑/Leertaste beschleunigt, A/D lenkt, R setzt zurück, F pausiert/setzt fort.

Veröffentlichen und prüfen

Nutze einen echten Renn-Screenshot als cover.png. Erstelle mit --platform pc --screen-orientation landscape; update nur bei deiner bereits bestehenden Verknüpfung. Große Uploads können --timeout 10m verwenden.

Im Versuch wurde derselbe Post auf Revision 2 aktualisiert, veröffentlicht mit submission_is_current=true. BoatAttack spielen , Code 08759. Nach Stopp der lokalen Server starteten zwei unabhängige Browsersitzungen über öffentliche Seite/Freigabelink und prüften Beschleunigen, Lenken, Pause/Fortsetzen sowie R in einer Sitzung, durchgehend stumm. Hauptdateien und alle 5 Bundles kamen aus der öffentlichen Bereitstellung; Spiellaufzeitfehler wurden nicht beobachtet.

Rennen auf Combos mit dem nativen Default-Build.

Rennen auf Combos mit dem nativen Default-Build.

Geprüft wurden Laden und Fahren im PC-Querformat als Einzelspieler. Vollständiger Rennsieg, mobiler Touch und echte Telefone wurden nicht geprüft. Loader-/Engine-Warnungen blieben; die 401-Antwort des nicht angemeldeten Profils auf der äußeren Seite wurde separat erfasst.

Was geändert wurde

Code, Assets und der vorhandene WebGL-Wasserzweig bleiben erhalten. Unity erzeugt Default ohne Loader-Umschreibung. Szenen, Komprimierung und Addressables sind in der nativen UI gespeichert. Der Patch passt Editor/Input System/URP und Serialisierung an. UIPanelFade.shader erhält _MainTex für neueres uGUI:

[PerRendererData] _MainTex("Sprite Texture", 2D) = "white" {}

Frühere eigene Editor-Build-Skripte, Combos-Templates und com.unity.pipeline wurden entfernt. Der Patch umfasst 31 versionierte Dateien gegenüber dem festen Commit, darunter README-migration.md, WEBGL-MIGRATION.md, LOCAL_SETUP.md und Lizenzen. Er reproduziert dieses Projekt, nicht beliebige Unity-Migrationen.

BoatAttack-Anpassung herunterladen.

Roblox-Beispiel · Ball Game

Grundlage ist Ball game open source , bereitgestellt als ball game.rbxl. Beibehalten werden 5 Sekunden Wartezeit, der rosa Ball zwischen drei versetzten Mauern, Kontakt mit WinPiece, goldene Farbe und Winner.

Original prüfen

Öffne und spiele in Roblox Studio, stoppe und untersuche Skripte, Avatar, Szene und Eigenschaften, ohne die .rbxl zu verändern.

Ursprüngliche Figur, Gras, Mauern, graue Grundplatte und Ziel.

Ursprüngliche Figur, Gras, Mauern, graue Grundplatte und Ziel.

Das originale GetWinner erkennt den Kontakt zwischen Ball und WinPiece.

Das originale GetWinner erkennt den Kontakt zwischen Ball und WinPiece.

Zwei Skripte erzeugen den Ball und erkennen den Sieg. Roblox liefert Rendering, Figur, Eingaben, Kamera, Animation, Physik und Serverlaufzeit. Ball: 5×5×5 studs; Gras: 18×1×74; Mauerzentren: (22,17.5,34), (32,17.5,15), (21.5,17.5,-4). Diese Werte gelten nur für das Beispiel.

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)

Für einfache Part-Szenen druckt dieser nur lesende Command-Bar-Ausschnitt bei gestopptem Play Eigenschaften nach Output. Komplexe Meshes, Texturen und Skelette brauchen separate Behandlung. Er exportiert kein spielbares H5-Spiel.

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

Zuordnung zu H5

OriginalBrowser
CreateBall: wait(5), Part, Neonmain.js: Wartezeit, Mesh und dynamischer Starrkörper
GetWinner: Touched, PlayerWonmain.js: einmaliger Sieg, goldener Ball, Winner
Map1, WinPiece, Startpunktlevel.js + main.js: Aufbau, Geometrie, Kollisionen einschließlich unsichtbarer Barrieren
Gras, Ziegel, Metall, Erde, Himmelenvironment.js: Materialien und lokale Texturen
R15 Man, Pal Hair, Shirt, Jeansavatar.js: 15 Körpersegmente, Haare, Lächeln, Kleidung, weiße Sohlen
Humanoid/Kameramain.js, avatar.js, camera.js: Bewegung, Sprung, Animation, Verfolgung, Drehung, Zoom
Message / HintHTML/CSS-HUD, Start-, Pausen- und Siegansicht

Das Original lädt den Konto-Avatar zur Laufzeit. Diese Version rekonstruiert ihn aus lokaler Geometrie und Texturen, ohne offizielle Roblox-Meshes zu importieren. Einfache Parts folgen dem echten Aufbau; andere Projekte dürfen exportberechtigte Modelle/Texturen wiederverwenden.

Avatar von vorn: Haare, Lächeln, blau-schwarzes Oberteil, dunkle Hose, weiße Sohlen.

Avatar von vorn: Haare, Lächeln, blau-schwarzes Oberteil, dunkle Hose, weiße Sohlen.

Seitenansicht von Haaren, Körpersegmenten und Schuhen.

Seitenansicht von Haaren, Körpersegmenten und Schuhen.

Das Beispiel nutzt 1 stud = 0,3 m, Ursprung (27,15,15) und Ballradius 0,75 m. Koordinatenumrechnung, Masse, Reibung, Rolldämpfung und Geschwindigkeitsgrenzen müssen zu deinem Spiel passen.

Nachgebauter Level mit drei Hindernissen, Grenzen und Ziel.

Nachgebauter Level mit drei Hindernissen, Grenzen und Ziel.

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

Ergänzt wurden Touch-Bewegung/Sprung, Pause/Fortsetzen, Neustart, Vollbild, Avataransicht und ein Hinweis bei fehlendem WebGL. Roblox-Konten, Robux, Mehrspielersynchronisierung und Cloud-Speicherstände wurden nicht übertragen. Dies ist keine vollständige Roblox-Laufzeit.

Starten und testen

Entpacke nach ball-game-h5 mit package.json im Stamm. Enthalten sind level.js, avatar.js, environment.js, camera.js, main.js, SOURCE-MAPPING.md und originale Lua-Dateien in reference/.

npm ci npm run dev

Öffne http://127.0.0.1:5174/. Dokumentiert ist Move to Combos/ball-game-h5 auf dem Desktop; passe den Pfad an. Nach Start erscheint der Ball nach 5 Sekunden. WASD/Pfeile bewegen, Leertaste springt, Ziehen dreht die Kamera, Mausrad zoomt, P pausiert, R startet neu, F schaltet Vollbild. Die Avataransicht hält die Runde an; Zurückkehren setzt sie fort.

Lokale Drittpersonansicht: den rosa Ball physisch schieben.

Lokale Drittpersonansicht: den rosa Ball physisch schieben.

Umgehe die Mauern aus der Standardansicht rechts, links, rechts und schiebe den Ball in die hintere Vertiefung. Echter WinPiece-Kontakt färbt ihn golden und zeigt Winner. Lokal wurde ein vollständiger Tastatur-/Physiksieg erreicht; Landung, Pause, Neustart, Kamera und Avataransicht wurden geprüft.

Vollständiger lokaler Sieg mit goldenem Ball und Winner.

Vollständiger lokaler Sieg mit goldenem Ball und Winner.

Bauen und veröffentlichen

Stoppe dev und prüfe die fertige Ausgabe unter http://127.0.0.1:4174/:

npm run build npm run preview

Die Quellen enthalten cover.png. Erstelle dein Spiel, behalte die Verknüpfung für Updates und teste den öffentlichen Link ohne lokalen Server. Das dokumentierte Figuren-/Szenenupdate war Revision 2, veröffentlicht mit submission_is_current=true. Ball Game H5 spielen , Code 70261. Online wurde ein Tastatursieg erreicht; mobile Tasten wurden nur im Viewport geprüft, nicht auf echten Telefonen.

Aktualisiertes Ball Game H5 auf Combos bei gestopptem lokalem Server.

Aktualisiertes Ball Game H5 auf Combos bei gestopptem lokalem Server.


Quelle: Combos-Integrationsleitfaden , geprüft am 2026-10-08 mit CLI v1.14.2. Die Ergebnisse beziehen sich auf die im Original dokumentierten Durchläufe.

Last updated on