Download in de App StoreDownloaden via Google Play

Wiki

Chrome Dino Broncode

Binnen de Open-Source Code Achter Google's T-Rex Runner

Bijgewerkt WikiEerst gepubliceerd
Chrome Dino Broncode
De Jumping Dino-gameplayiOS + Android

Het Chrome Dino-spel maakt deel uit van het open-source Chromium-project, dus de huidige implementatie kan direct worden geïnspecteerd in de bronrepository van Google. Vanaf juli 2026 bevindt het spel zich in components/neterror/resources/dino_game/. De hoofdcontroller Runner bevindt zich in offline.ts, terwijl scoren, de T-Rex, obstakels, de horizon, sprites, spelstatus en geluid zijn opgesplitst in gerichte TypeScript-modules. Oudere verklaringen die één huidig offline.js-bestand beschrijven, verwijzen naar een eerdere Chromium-architectuur. Het spel gebruikt nog steeds de HTML Canvas API en browser timing-primitieven in plaats van een game-engine van derden. Runner coördineert invoer en status, Trex beheert spring- en buiggedrag, Obstacle en Horizon beheren de bewegende wereld, en DistanceMeter converteert afstand naar de weergegeven score. De huidige distance_meter.ts bewijst ook dat de weergave na 99.999 van vijf naar zes cijfers uitbreidt. Voor ontwikkelaars is de code een nuttig compact voorbeeld van modulaire TypeScript, configuratiegestuurde gameplay, toegankelijkheidsondersteuning, sprite-animatie, botsingsdetectie en een requestAnimationFrame-loop.

01

Belangrijkste Klassen en Architectuur

De huidige Chrome Dino-broncode is georganiseerd in gerichte modules: - offline.ts / Runner: coördineert de gameloop, invoer, snelheid, scorestatus, pauze-/herstartgedrag en toegankelijkheid.

  • trex.ts: beheert springfysica, buigen, animatiestatussen en botsingskaders.
  • obstacle.ts: definieert beweging en spawn-gedrag van cactussen en pterosauriërs.
  • horizon.ts en gerelateerde bestanden: tekenen de grond, wolken, maan, nachtmodus en scrollende wereld.
  • distance_meter.ts: converteert afstand naar score, tekent de hoge score, flitst prestaties en breidt de weergave uit na de initiële vijf cijfers.
  • game_config.ts en sprite-definitiebestanden: houden snelheden, gaten, modi en assetposities configuratiegestuurd. Deze modulaire TypeScript-indeling verving de oudere JavaScript-structuur met één bestand.
02

Hoe de Gameloop Werkt

Het spel gebruikt een standaard requestAnimationFrame-loop. Elk frame voert de Runner.update-methode uit: 1. Berekent de verstreken tijd sinds het laatste frame 2. Werkt de spelsnelheid bij op basis van de afgelegde afstand 3. Verplaatst alle obstakels met hun huidige snelheid 4. Controleert op botsingen tussen de T-Rex en een obstakel 5. Werkt de score en afstandsmeting bij 6. Maakt het canvas leeg en tekent alle elementen opnieuw 7. Plant het volgende frame Als een botsing wordt gedetecteerd, gaat het spel naar een 'gecrashte' status, speelt een korte animatie af en wacht tot de speler op de spatiebalk drukt om opnieuw te starten. Het hele spel draait met een doel van 60 frames per seconde, met delta-tijdcompensatie om consistente fysica te garanderen op zowel snelle als langzame schermen.

03

Leren van de Codebase

De huidige broncode demonstreert verschillende nuttige technische ideeën in een echte productiefunctie: - Modulaire verantwoordelijkheid: runner, karakter, wereld, score, status en assets zijn afzonderlijke TypeScript-modules.

  • Gebeurtenisgestuurde invoer: toetsenbord-, aanwijzer-, aanraak-, zichtbaarheids-, focus- en gamepad-gebeurtenissen voeden dezelfde spelstatus.
  • Expliciete status: wachtend, rennend, springend, bukkend, gepauzeerd en gecrasht gedrag wordt direct weergegeven.
  • Configuratiegestuurde gameplay: acceleratie, maximale snelheid, obstakelgaten, mobiele coëfficiënten en alternatieve modi zijn datagestuurd.
  • Toegankelijkheid: live-regioberichten, labels, vertragingsregelaars en invoeralternatieven maken deel uit van de huidige implementatie.
  • Frame-rate-bewuste timing: requestAnimationFrame en verstreken tijd houden beweging consistent. Lees de huidige Chromium-bestanden in plaats van gekopieerde tutorials die zijn gebouwd rond de gepensioneerde offline.js-indeling.
Onderwerpenchrome dinobroncodejavascriptchromiumopen source

Speel terwijl je leest

Speel nu of download de volledige game

Speel de browser runner, of download de mobiele app met Campagne, Oneindige modus, dinosaurusprogressie en AI-spookraces.

Bronnen & Referenties

Laatst geverifieerd:

NIVEAU OMHOOG

Houd je van de klassieker? Ontmoet de evolutie.

The Jumping Dino neemt alles wat je leuk vindt aan het Chrome dino-spel en verandert het in een volledig avontuur.

Campagne + Oneindig + Multiplayer
Red eieren in 5 tijdperken
Broed dino's uit, bouw het Heiligdom
iOS & Android; 2 offline modi

3M+

Downloads

4.3★

Google Play beoordeling

9.28K

Recensies

Houd je van de klassieker? Ontmoet de evolutie.
Download in de App StoreDownloaden via Google Play

Antwoorden

Veelgestelde vragen

Ja. Chrome Dino maakt deel uit van het open-source Chromium-project. De huidige implementatie bevindt zich in components/neterror/resources/dino_game, met de hoofdrunner in offline.ts en afzonderlijke TypeScript-modules voor de afstandsmeting, T-Rex, obstakels, horizon en andere systemen.

De huidige Chromium-implementatie is geschreven in TypeScript en gecompileerd voor Chrome. Het gebruikt browser-API's en HTML Canvas in plaats van een game-engine van derden. Oudere Chromium-versies bewaarden veel van de logica in één offline.js-bestand.

U kunt de Chromium-broncode bekijken en forken onder de open-source licentie. U kunt de versie die in uw Chrome-browser draait niet aanpassen zonder een aangepaste versie van Chromium te bouwen. U kunt het draaiende spel echter manipuleren via de JavaScript-console van Chrome.

De huidige code is een compact voorbeeld van modulaire TypeScript, Canvas sprite-animatie, botsingsdetectie met begrenzingskaders, configuratiegestuurde gameplay, toegankelijkheidshaken en requestAnimationFrame-timing zonder een game-engine van derden.

Blijf verkennen

Gerelateerde pagina's