TP025

Lông Vũ Arena — Sân cầu lông

Sân & CLB cầu lông: VĐV đập cầu dựng 3D từ ảnh với quả cầu bay ra từ vợt, đặt sân theo giờ, phòng thí nghiệm đường cầu mô phỏng đúng khí động học, lớp học và shop vợt.

Điểm nổi bật
Trong gói tải về

Website song ngữ (VI/EN) cho sân cầu lông, CLB thể thao hoặc trung tâm đào tạo: VĐV đập cầu dựng 3D từ ảnh (bản đồ độ sâu) với quả cầu bay ra từ vợt, đặt sân theo giờ, phòng thí nghiệm đường cầu mô phỏng khí động học thật, lớp học, shop vợt, giải đấu và thẻ hội viên.

Chạy thử

Cần Node.js 18+.

npm install
npm run dev       # mở http://localhost:5173
npm run build     # xuất bản tĩnh vào dist/ — upload lên hosting bất kỳ

Mặc định tiếng Việt; thêm ?lang=en để mở tiếng Anh.

Cấu trúc

index.html             Khung trang (mọi section)
src/hero-scene.js      VĐV 3D (depth relief) + quả cầu bay có vệt sáng
src/flight.js          Mô phỏng đường cầu (lực cản ∝ v²) vẽ trên canvas
src/main.js            Đặt sân, phòng thí nghiệm, shop, đếm ngược
src/locales.js         TOÀN BỘ nội dung chữ (vi + en)
src/style.css          Giao diện (biến màu ở :root)
src/relief.js          Ảnh + độ sâu → bề mặt 3D có ánh sáng
src/fx.js + fx.css     Bộ motion: preloader, tách chữ, con trỏ, marquee
public/images/         Ảnh webp (+ player-depth.webp)
asset-prompts.json     Prompt tạo lại từng ảnh bằng AI
scripts/depth-map.mjs  Tạo bản đồ độ sâu cho ảnh mới (chạy local)
PROMPT.md              Prompt dựng lại trang bằng AI builder

Tuỳ biến nhanh

Muốn đổiSửa ở
Số sân, khung giờCOURTS, HOURS trong src/main.js
Giá giờ thường / giờ vàng / cuối tuầnhàm priceOf() và isPeak()
Kết nối đặt sân thậtthay taken() bằng dữ liệu từ API, gửi form [data-book-form] lên backend
Cú đánh trong phòng thí nghiệmbảng SHOTS trong src/flight.js (vị trí, độ cao, góc, km/h)
Vợt & thông sốmảng RACKETS trong src/main.js
Vị trí vợt để phóng cầuracketUv trong src/hero-scene.js
Màu & font:root trong src/style.css + link Google Fonts trong index.html

Ảnh & bản đồ độ sâu

npm i -D @huggingface/transformers sharp
node scripts/depth-map.mjs vdv-moi.png public/images/player-depth.webp

Ghi chú