Skip to Content
ДокументацияРуководство по интеграцииПолные примерыПример Roblox · Ball Game

Пример Roblox · Ball Game

Основа — Ball game open source , файл ball game.rbxl. Правила сохранены: ждать 5 секунд, протолкнуть розовый мяч между тремя смещёнными стенами, коснуться WinPiece, окрасить мяч в золотой и показать Winner.

Изучи оригинал

Открой и сыграй в Roblox Studio, останови и исследуй скрипты, аватар, сцену и свойства, не меняя .rbxl.

Исходный персонаж, трава, стены, серое основание и финиш.

Исходный персонаж, трава, стены, серое основание и финиш.

Исходный GetWinner отслеживает контакт мяча с WinPiece.

Исходный GetWinner отслеживает контакт мяча с WinPiece.

Два скрипта создают мяч и определяют победу. Roblox обеспечивает рендеринг, персонажа, ввод, камеру, анимацию, физику и серверную среду. Мяч: 5×5×5 studs, трава: 18×1×74, центры стен: (22,17.5,34), (32,17.5,15), (21.5,17.5,-4). Это параметры только данного примера.

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)

Для простых Part-сцен этот фрагмент только читает свойства и выводит их в Output через Command Bar при остановленном Play. Сложные меши, текстуры и скелеты требуют отдельной обработки. Команда не экспортирует готовую H5-игру.

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

Соответствие исходников H5

ОригиналБраузер
CreateBall: wait(5), Part, Neonmain.js: задержка, меш и динамическое твёрдое тело
GetWinner: Touched, PlayerWonmain.js: однократная победа, золотой мяч, Winner
Map1, WinPiece, точка появленияlevel.js + main.js: расположение, геометрия, коллизии, включая невидимые барьеры
Трава, кирпич, металл, земля, небоenvironment.js: материалы и локальные текстуры
R15 Man, Pal Hair, футболка, джинсыavatar.js: 15 сегментов тела, волосы, улыбка, одежда, белые подошвы
Humanoid/камераmain.js, avatar.js, camera.js: движение, прыжок, анимация, слежение, вращение, масштаб
Message / HintHTML/CSS HUD, экраны начала, паузы и победы

Оригинал загружает аватар аккаунта во время исполнения. Здесь внешность воссоздана локальной геометрией и текстурами, без импорта официальных мешей Roblox. Простые Parts повторяют реальную планировку; в других проектах можно повторно использовать модели/текстуры с правом экспорта.

Аватар спереди: волосы, улыбка, сине-чёрный верх, тёмные брюки и белые подошвы.

Аватар спереди: волосы, улыбка, сине-чёрный верх, тёмные брюки и белые подошвы.

Вид сбоку: волосы, сегменты тела и обувь.

Вид сбоку: волосы, сегменты тела и обувь.

В примере 1 stud = 0,3 м, начало координат (27,15,15), радиус мяча 0,75 м. Преобразование координат, массу, трение, затухание качения и ограничения скорости настрой под свою игру.

Воссозданный уровень с тремя препятствиями, границами и финишем.

Воссозданный уровень с тремя препятствиями, границами и финишем.

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

Добавлены сенсорные движение/прыжок, пауза/продолжение, повтор, полный экран, осмотр аватара и сообщение об отсутствии WebGL. Аккаунты Roblox, Robux, синхронизация мультиплеера и облачные сохранения не перенесены. Это не полноценная среда Roblox.

Запусти и проверь

Распакуй в ball-game-h5 с package.json в корне. В комплекте level.js, avatar.js, environment.js, camera.js, main.js, SOURCE-MAPPING.md и исходные Lua в reference/.

npm ci npm run dev

Открой http://127.0.0.1:5174/. В записи путь — Move to Combos/ball-game-h5 на рабочем столе; используй свой. После начала жди мяч 5 секунд. WASD/стрелки двигают, пробел прыгает, перетаскивание вращает камеру, колесо меняет масштаб, P ставит на паузу, R повторяет, F включает полный экран. Осмотр аватара замораживает раунд, возврат продолжает его.

Локальный вид от третьего лица: физически толкай розовый мяч.

Локальный вид от третьего лица: физически толкай розовый мяч.

С исходной камеры обходи стены справа, слева, справа, затем войди в конечное углубление. Реальный контакт с WinPiece делает мяч золотым и показывает Winner. Локально пройдена полная победа клавиатурой и физикой; проверены приземление, пауза, повтор, камера и осмотр.

Полная локальная победа: золотой мяч и Winner.

Полная локальная победа: золотой мяч и Winner.

Собери и опубликуй

Останови dev и проверь финальную сборку на http://127.0.0.1:4174/:

npm run build npm run preview

Исходники содержат cover.png. Создай свою игру, сохрани привязку для обновлений и проверь публичную ссылку без локального сервера. Записанное обновление персонажа/сцены — ревизия 2, опубликована с submission_is_current=true. Играть в Ball Game H5 , код 70261. Онлайн достигнута победа с клавиатурой; мобильные кнопки проверены только в viewport, не на телефоне.

Обновлённый Ball Game H5 на Combos при остановленном локальном сервере.

Обновлённый Ball Game H5 на Combos при остановленном локальном сервере.


Источник: руководство по интеграции с Combos , проверено 2026-10-08 с CLI v1.14.2. Результаты относятся к запускам, описанным в оригинале.

Last updated on