Tải xuống trên App StoreTải trên Google Play

Wiki

Mã nguồn trò chơi khủng long Chrome

Bên trong mã nguồn mở đằng sau T-Rex Runner của Google

Cập nhật WikiXuất bản lần đầu
Mã nguồn trò chơi khủng long Chrome
Lối chơi The Jumping DinoiOS + Android

Trò chơi khủng long Chrome là một phần của dự án mã nguồn mở Chromium, vì vậy việc triển khai hiện tại của nó có thể được kiểm tra trực tiếp trong kho mã nguồn của Google. Tính đến tháng 7 năm 2026, trò chơi nằm trong components/neterror/resources/dino_game/. Bộ điều khiển Runner chính nằm trong offline.ts, trong khi tính điểm, T-Rex, chướng ngại vật, đường chân trời, sprite, trạng thái trò chơi và âm thanh được chia thành các mô-đun TypeScript chuyên biệt. Các giải thích cũ hơn mô tả một tệp offline.js hiện tại đang đề cập đến một kiến trúc Chromium trước đó. Trò chơi vẫn sử dụng API HTML Canvas và các nguyên thủy thời gian của trình duyệt thay vì một công cụ trò chơi của bên thứ ba. Runner điều phối đầu vào và trạng thái, Trex sở hữu hành vi nhảy và cúi người, ObstacleHorizon quản lý thế giới chuyển động, và DistanceMeter chuyển đổi khoảng cách thành điểm số hiển thị. distance_meter.ts hiện tại cũng chứng minh rằng màn hình mở rộng từ năm lên sáu chữ số sau 99.999. Đối với các nhà phát triển, mã này là một ví dụ nhỏ gọn hữu ích về TypeScript mô-đun, lối chơi dựa trên cấu hình, hỗ trợ tiếp cận, hoạt ảnh sprite, phát hiện va chạm và vòng lặp requestAnimationFrame.

01

Các lớp và kiến trúc chính

Mã nguồn trò chơi khủng long Chrome hiện tại được tổ chức thành các mô-đun chuyên biệt: - offline.ts / Runner: điều phối vòng lặp trò chơi, đầu vào, tốc độ, trạng thái điểm số, hành vi tạm dừng/khởi động lại và khả năng tiếp cận.

  • trex.ts: quản lý vật lý nhảy, cúi người, trạng thái hoạt ảnh và hộp va chạm.
  • obstacle.ts: định nghĩa chuyển động và hành vi sinh ra của xương rồng và pterodactyl.
  • horizon.ts và các tệp liên quan: vẽ mặt đất, mây, mặt trăng, chế độ ban đêm và thế giới cuộn.
  • distance_meter.ts: chuyển đổi khoảng cách thành điểm số, vẽ điểm cao, hiển thị thành tích và mở rộng màn hình sau năm chữ số ban đầu.
  • game_config.ts và các tệp định nghĩa sprite: giữ tốc độ, khoảng cách, chế độ và vị trí tài sản dựa trên cấu hình. Bố cục TypeScript mô-đun này đã thay thế cấu trúc JavaScript một tệp cũ hơn.
02

Cách vòng lặp trò chơi hoạt động

Trò chơi sử dụng vòng lặp requestAnimationFrame tiêu chuẩn. Mỗi khung hình, phương thức Runner.update: 1. Tính toán thời gian đã trôi qua kể từ khung hình cuối cùng 2. Cập nhật tốc độ trò chơi dựa trên khoảng cách đã trôi qua 3. Di chuyển tất cả các chướng ngại vật theo tốc độ hiện tại của chúng 4. Kiểm tra va chạm giữa T-Rex và bất kỳ chướng ngại vật nào 5. Cập nhật điểm số và đồng hồ khoảng cách 6. Xóa canvas và vẽ lại tất cả các yếu tố 7. Lên lịch cho khung hình tiếp theo Nếu phát hiện va chạm, trò chơi sẽ chuyển sang trạng thái 'đã va chạm', phát một hoạt ảnh ngắn và chờ người chơi nhấn phím cách để khởi động lại. Toàn bộ trò chơi chạy ở tốc độ mục tiêu 60 khung hình mỗi giây, với bù trừ thời gian delta để đảm bảo vật lý nhất quán trên cả màn hình nhanh và chậm.

03

Học hỏi từ cơ sở mã

Mã nguồn hiện tại thể hiện một số ý tưởng kỹ thuật hữu ích trong một tính năng sản xuất thực tế: - Trách nhiệm mô-đun: trình chạy, nhân vật, thế giới, điểm số, trạng thái và tài sản là các mô-đun TypeScript riêng biệt.

  • Đầu vào dựa trên sự kiện: bàn phím, con trỏ, cảm ứng, khả năng hiển thị, tiêu điểm và các sự kiện gamepad cung cấp cùng một trạng thái trò chơi.
  • Trạng thái rõ ràng: hành vi chờ đợi, chạy, nhảy, cúi người, tạm dừng và va chạm được thể hiện trực tiếp.
  • Lối chơi dựa trên cấu hình: gia tốc, tốc độ tối đa, khoảng cách chướng ngại vật, hệ số di động và các chế độ thay thế được điều khiển bằng dữ liệu.
  • Khả năng tiếp cận: tin nhắn vùng trực tiếp, nhãn, điều khiển làm chậm và các lựa chọn đầu vào thay thế là một phần của việc triển khai hiện tại.
  • Thời gian nhận biết tốc độ khung hình: requestAnimationFrame và thời gian đã trôi qua giữ cho chuyển động nhất quán. Hãy đọc các tệp Chromium hiện tại thay vì các hướng dẫn được sao chép dựa trên bố cục offline.js đã ngừng hoạt động.
Chủ đềchrome dinomã nguồnjavascriptchromiummã nguồn mở

Chơi trong khi đọc

Chơi ngay hoặc tải trò chơi đầy đủ

Chơi trò chơi chạy trên trình duyệt hoặc tải ứng dụng di động với chế độ Chiến dịch, Vô tận, tiến hóa khủng long và đua ma AI.

Nguồn & Tham khảo

Xác minh lần cuối:

LÊN CẤP

Yêu thích bản cổ điển? Gặp gỡ sự tiến hóa.

The Jumping Dino lấy mọi thứ bạn yêu thích về trò chơi khủng long Chrome và biến nó thành một cuộc phiêu lưu đầy đủ.

Chiến dịch + Vô tận + Nhiều người chơi
Giải cứu trứng qua 5 kỷ nguyên
Ấp khủng long, xây dựng Khu bảo tồn
iOS & Android; 2 chế độ ngoại tuyến

3M+

Lượt tải

4.3★

Xếp hạng Google Play

9.28K

Đánh giá

Yêu thích bản cổ điển? Gặp gỡ sự tiến hóa.
Tải xuống trên App StoreTải trên Google Play

Câu trả lời

Các câu hỏi thường gặp

Có. Trò chơi khủng long Chrome là một phần của dự án mã nguồn mở Chromium. Việc triển khai hiện tại nằm trong components/neterror/resources/dino_game, với trình chạy chính trong offline.ts và các mô-đun TypeScript riêng biệt cho đồng hồ khoảng cách, T-Rex, chướng ngại vật, đường chân trời và các hệ thống khác.

Việc triển khai Chromium hiện tại được viết bằng TypeScript và được biên dịch cho Chrome. Nó sử dụng các API trình duyệt và HTML Canvas thay vì một công cụ trò chơi của bên thứ ba. Các phiên bản Chromium cũ hơn giữ phần lớn logic trong một tệp offline.js duy nhất.

Bạn có thể xem và phân nhánh mã nguồn Chromium theo giấy phép mã nguồn mở của nó. Bạn không thể sửa đổi phiên bản đang chạy trong trình duyệt Chrome của mình mà không xây dựng một phiên bản Chromium tùy chỉnh. Tuy nhiên, bạn có thể thao tác trò chơi đang chạy thông qua bảng điều khiển JavaScript của Chrome.

Mã hiện tại là một ví dụ nhỏ gọn về TypeScript mô-đun, hoạt ảnh sprite Canvas, phát hiện va chạm hộp giới hạn, lối chơi dựa trên cấu hình, các móc hỗ trợ tiếp cận và thời gian requestAnimationFrame mà không cần công cụ trò chơi của bên thứ ba.

Tiếp tục khám phá

Các trang liên quan