- 114
- 230 608
Ateros
Ukraine
เข้าร่วมเมื่อ 25 ก.ค. 2015
Канал о создании приложений и игр на JavaScript.
[Старт канала - 10.06.2022]
[Старт канала - 10.06.2022]
Как собрать мобильное приложение на React JS
Всем привет. В этом уроке покажу как собрать мобильное приложение на React JS, практически ничего не меняя в проекте веб-приложения.
Поделюсь тем, какие утилиты надо установить и как все настроить чтобы сборка прошла успешно. Буду показывать как сделать apk для android на устройстве с ОС Windows, а если вы хотите собирать под ios, вам понадобиться Mac и установленный на нем XCode, но все остальное впринципе будет также как и здесь.
Данный способ превращения проекта на React JS в мобильное приложение является довольно простым и быстрым, а такой тип разроботки обычно называют гибридным.
Ссылка на сайт для скачивания Java JDK:
www.oracle.com/java/technologies/downloads/
Ссылка на сайт для скачивания Android Studio:
developer.android.com/studio
Ссылка на документацию по Capacitor:
capacitorjs.com/
Гайды по настройке отладки на устройстве
Android - learn.microsoft.com/ru-ru/dotnet/maui/android/device/setup?view=net-maui-8.0
iOS - learn.microsoft.com/uk-ua/previous-versions/xamarin/ios/deploy-test/wireless-deployment?tabs=macos
#react #javascript #android #ios #mobiledevelopment #frontend #web #development #js #reactjs #capactor
Поделюсь тем, какие утилиты надо установить и как все настроить чтобы сборка прошла успешно. Буду показывать как сделать apk для android на устройстве с ОС Windows, а если вы хотите собирать под ios, вам понадобиться Mac и установленный на нем XCode, но все остальное впринципе будет также как и здесь.
Данный способ превращения проекта на React JS в мобильное приложение является довольно простым и быстрым, а такой тип разроботки обычно называют гибридным.
Ссылка на сайт для скачивания Java JDK:
www.oracle.com/java/technologies/downloads/
Ссылка на сайт для скачивания Android Studio:
developer.android.com/studio
Ссылка на документацию по Capacitor:
capacitorjs.com/
Гайды по настройке отладки на устройстве
Android - learn.microsoft.com/ru-ru/dotnet/maui/android/device/setup?view=net-maui-8.0
iOS - learn.microsoft.com/uk-ua/previous-versions/xamarin/ios/deploy-test/wireless-deployment?tabs=macos
#react #javascript #android #ios #mobiledevelopment #frontend #web #development #js #reactjs #capactor
มุมมอง: 298
วีดีโอ
Доработка игрового алгоритма (#5)
มุมมอง 527หลายเดือนก่อน
Всем привет. Это последний урок данной серии о создании 3д игры на React, с использование библиотеки Babylon JS. Так как в предыдущем уроке мы закончили создание графической составляющей нашей игры, в этом уже не будет работы с Blender, только программирование. А именно - доработаем игровой алгоритм. В итоге у нас получится небольшая игра в которой привидение, находящееся в ночном лесу, должно ...
Работа над игровым дизайном (#4)
มุมมอง 1522 หลายเดือนก่อน
Продолжаем создание 3д игры на React JS, и сегодня поробатаем над игровым дизайном. Разместим все 3д обьекты на тех местах на которых они уже и будут находиться, разместим все три кристалла и также добавим дверь (ну или правильнее было бы сказать портал). В итоге у нас уже будет готовый уровень. Данным уроком мы закончим работу над графической состовляющей нашей игры. А уже в следующих уроках о...
Взаимодействие с игровыми обьектами (#3)
มุมมอง 1523 หลายเดือนก่อน
Всем привет. Это третий урок курса по созданию 3д игры на React JS. В этом уроке мы уже будем только программировать в отличии от предыдущего, где я показывал процесс создания графики для игры. Сегодня попробуем добавить на сцену новую 3д-модель такой колонны со светящимся красным кристаллом. А также запрограммируем логику для игры, так чтобы у пользователя была возможность подойти к кристаллу,...
Добавление главного героя и окружения (#2)
มุมมอง 1493 หลายเดือนก่อน
Всем привет. В этом видео я буду работать над созданием графической соствляющей нашей игры, а именно добавлю персонажа, настрою освещение, камеру и создам несколько декоративных элементов. В итоге у нас получится такая базовая сцена, которую в будущем можно будет расширять чтобы создать игровую локацию ночного леса. Сегодня я буду работать в основном в программе Blender. Если вам интересно 3д-м...
Делаем управление для персонажа (#1)
มุมมอง 9453 หลายเดือนก่อน
Всем привет. Этим видео начинаем новую серию уроков о создании 3D игры на React JS. Сегодня сделаем базовую 3д сцену в Blender, с помощью 3д-примитивов таких как сфера и плоскость. Настроим камеру и освещение, а после экспортируем готовую сцену в файл с форматом Babylon и попробуем импортировать ее в React-проект. Также начнем строить программную структуру игры, пропишем первый скрипт PlayerCon...
Создание 3д игры на React JS (часть 2/2)
มุมมอง 4264 หลายเดือนก่อน
Всем привет. В прошлом уроке я показал как создать визуальную часть игры в Blender и экспортировать в формат Babylon JS. А также мы разобрали как импортировать 3д сцену в проект на React JS. В этом урок поробатаем над программной частью - пропишем игровой алгоритм, чтобы можно было управлять моделькой игрока и перепрыгивать по платформам. По мере продвижения вверх будут появляться новые платфор...
Делаем 3D игру на React JS (часть 1/2)
มุมมอง 3175 หลายเดือนก่อน
Сегодня начнем делать вот такую 3д-игру в этом уроке сосредоточимся на вихуальной части, а в следующем напишем код. В результате на этом уроке научимся загружать готовую сцену в приложение на React JS, а потом создадим сцену в Blender. 0:00 - Вступление 0:13 - Как загрузить 3д сцену в React 2:58 - Как создать 3д игру в Blender 9:40 - Как экспортировать сцену в .babylon Урок по Blender: th-cam.c...
Приложение "Погода" - 2/2 (Tailwind CSS, React)
มุมมอง 7316 หลายเดือนก่อน
В предыдущем уроке ми написали основную логику приложения "Погода" на React JS, а сегодня уже будем работать над созданием интерфейс. Для стилизации компонент будем использовать библиотеку Tailwind. В начале уроке пройдемся по настройке и основным принципам работы с библиотекой, а дальше уже будем оформлять интерфейс. Также добавим график с помощью такой библииотеки как Chart.js. Покажу вам как...
Приложение "Погода" - 1/2 (Redux-toolkit, thunk, axios)
มุมมอง 6257 หลายเดือนก่อน
Продолжаем тему разработки на React, Redux-toolkit и в этом уроке научимся делать запрос на сервер, получать и обрабатывать данные. Реализуем код небольшого прилодения для отображения данных по погоде в определенном городе, который введет пользователь. Вы научитесь интегрировать Redux-Toolkit и Thunk для эффективного взаимодействия с сервером и API. Мы рассмотрим использование Axios для запросо...
Игра "Змейка" - 2/2 (React, Redux-toolkit)
มุมมอง 6118 หลายเดือนก่อน
Продолжаем создавать игру змейка на react js. В предыдущем урок мы познакомились с тем, как настроить store в redux-toolkit, а также подготовили внешний вид игры и создали основные компоненты. Сегодня же будем прописывать игровой алгоритм и познакомимся с различными деталями работы react и refux-toolkit (useRef, keys, useSelector, etc). В результате получится готовый проект, который можно добав...
Игра "Змейка" - 1/2 (React, Redux-toolkit)
มุมมอง 1.4K8 หลายเดือนก่อน
Продолжаем тему разработки на React JS. Сегодня начнем создавать игру Snake, на react, научимся подключать и настраивать redux-toolkit для взаимодействия со store. Познакомимся с тем как создавать slice, и взаимодействовать с данными в state. Также подготовим внешний вид игры, а уже в следующем напишем логику. Код урока: github.com/ateros-lab/snake-game #react #reactjs #уроки #практика #вебразр...
Игра "Крестики-нолики" (React)
มุมมอง 1.2K9 หลายเดือนก่อน
Всем привет. Сегодня напишем небольшую игру Крестики-нолики на React JS. Урок подойдет для тех кто только начал изучать реакт, что закрепить базовые знания JSX, того как работает стейт, как компоненты взаимодействуют между собой, условий рендериг и другое. Надеюсь урок вам понравиться, если что - напишите в комментариях если хотите больше таких уроков в формате "React практикум" Код урока можно...
Создание 2д-графики для игр - быстрый старт | Blender
มุมมอง 68010 หลายเดือนก่อน
#3данимация #3дмоделирование #blender В этом уроке покажу как стилизовать 3д-модель, которую мы сделали в предыдущем урок под 2д, чтобы сделать ассеты для 2д игры. В процессе стилизиурем материалы обьектов с помощью нод, покажу один из способов того, как создать трехмерный контур для обьектов, настроим камеру и свет, отрендерим все кадры анимации и уже готовый спрайт добавим в игру используя би...
Создание 3д-графики для игр - быстрый старт | Blender
มุมมอง 42311 หลายเดือนก่อน
На этом уроке познакомимся с тем как работать в программе Blender, а также рассмотрим такие темы как: 00:16 - Знакомство с программой 01:13 - 3д-моделирование (теория) 13:58 - 3д-моделирование (практика) 46:28 - Скульптинг 53:28 - Материалы 57:00 - Риггинг 01:00:57 - Анимация 01:02:30 - Рисование весов 01:07:06 - Добавление 3д-модели в игру и запуск анимации из кода 01:08:51 - Домашнее задание ...
Создание 3д игр - быстрый страт | Babylon.js
มุมมอง 1.5Kปีที่แล้ว
Создание 3д игр - быстрый страт | Babylon.js
Создание 2д игр - быстрый старт | Phaser.js
มุมมอง 2.4Kปีที่แล้ว
Создание 2д игр - быстрый старт | Phaser.js
Экспорт / импорт сцены в дополненной реальности на JavaScript + отслеживание рук | AR JS
มุมมอง 329ปีที่แล้ว
Экспорт / импорт сцены в дополненной реальности на JavaScript отслеживание рук | AR JS
Физика и игровой элемент, дополненная реальность, AR JS
มุมมอง 460ปีที่แล้ว
Физика и игровой элемент, дополненная реальность, AR JS
Перемещение, изменение размеров 3D обьекта в дополненной реальности, Gizmo Manager | AR JS
มุมมอง 316ปีที่แล้ว
Перемещение, изменение размеров 3D обьекта в дополненной реальности, Gizmo Manager | AR JS
Отображение html-элементов в AR-режиме, дополненная реальность на Babylon.js | AR JS
มุมมอง 742ปีที่แล้ว
Отображение html-элементов в AR-режиме, дополненная реальность на Babylon.js | AR JS
Создание AR-сцены в JavaScript, WebXR в Babylon.js | Дополненная реальность
มุมมอง 900ปีที่แล้ว
Создание AR-сцены в JavaScript, WebXR в Babylon.js | Дополненная реальность
Распознавание рук с камеры, в реальном времени с помощью Media Pipe, hand track js
มุมมอง 577ปีที่แล้ว
Распознавание рук с камеры, в реальном времени с помощью Media Pipe, hand track js
Распознавание точек на теле человека с изображения, TensorFlow Hub
มุมมอง 443ปีที่แล้ว
Распознавание точек на теле человека с изображения, TensorFlow Hub
Задачи классификации для ИИ TensorFlow.js, deep learning
มุมมอง 857ปีที่แล้ว
Задачи классификации для ИИ TensorFlow.js, deep learning
Практика построения модели машинного обучения с помощью TensorFlow.js
มุมมอง 2.4Kปีที่แล้ว
Практика построения модели машинного обучения с помощью TensorFlow.js
Теория построения нейронных сетей в TensorFlow.js
มุมมอง 1.7Kปีที่แล้ว
Теория построения нейронных сетей в TensorFlow.js
Мобильные приложения на JavaScript (PWA)
มุมมอง 2.9Kปีที่แล้ว
Мобильные приложения на JavaScript (PWA)
Как писать десктопные приложения на React JS | React + Electron
มุมมอง 12Kปีที่แล้ว
Как писать десктопные приложения на React JS | React Electron
👍👍👍
Когда я переключаю на мобильную версию - персонаж не бегает, а стоит на месте <div id="img-block" style=" width: 288px; height: 288px; overflow: hidden; position: relative; left: 0px; "> <img id="hero-img" style=" width: 1728px; height: 1152px; position: relative; top: -576px; left: 0px; transform: scale(-1,1); "src="img/hero-sprite.png" /> </div> <script> // Variable let heroImg = window.document.querySelector("#hero-img"); let imgBlock = window.document.querySelector("#img-block"); let rightPosition = 0; let imgBlockPosition = 0; // Function const rightHandler = () => { heroImg.style.transform = "scale(-1,1)"; rightPosition = rightPosition + 1; imgBlockPosition = imgBlockPosition + 1; if (rightPosition > 5) { rightPosition = 0; } heroImg.style.left = `-${rightPosition * 288}px`; imgBlock.style.left = `${imgBlockPosition * 20}px`; } const leftHandler = () => { heroImg.style.transform = "scale(1,1)"; rightPosition = rightPosition + 1; imgBlockPosition = imgBlockPosition - 1; if (rightPosition > 5) { rightPosition = 0; } heroImg.style.left = `-${rightPosition * 288}px`; imgBlock.style.left = `${imgBlockPosition * 20}px`; }; // Event handlers let timer = null; let x = 0; let halfWidth = window.screen.width / 2; let onTouchStart = (event) => { event.preventDefault(); x = (event.type === 'mousedown') ? event.screenX : x = event.touches[0].screenX; timer = setInterval(() => { (x > halfWidth) ? rightHandler() : leftHandler(); }, 130); }; let onTouchEnd = (event) => { event.preventDefault(); clearInterval(timer); }; window.onmousedown = onTouchStart; window.ontransitionstart = onTouchStart; window.onmouseup = onTouchEnd; window.ontouchend = onTouchEnd; </script>
Здравствуйте. Извините что отвечаю спустя такое долгое время, вы уже нашли решение, я все равно возможно кого-то подтолкнет в нужном направлении - в 129 строке надо заменить window.ontransitionstart на window.ontouchstart
Ток посмотрел, это пока самое сложное, пытаюсь переварить алгоритм перемещения мяча! Огромное спасибо за труд:)
Прошло два года видео все еще кайфовый и интересный
Спасибо)
спасибо за разборы, сделал благодаря тебе практически весь нужный функционал!)
Рад, что пригодилось) 🙏
Спасибо, все видео из этого курса были интересными и полезным! будут еще видео на тему? если да подкинуть идеи что можно поделать?)
Да, конечно, можете предлагать свои темы, я возьму их на заметку и возможно в будущем сниму видео.
Я немного не понял, приведенье ударяется об камни и деревья? или оно пролетает сквозь?
Пролетает. У меня есть более обширный курс по babylon.js, там мы рассматривали физику, столкновения и другие чуть посложнее темы - 3D игра на JavaScript | Казуальная: th-cam.com/play/PLfSrF_YWov8aS8aF3jEGkiVvZvjPUr-bA.html
Вопрос, на видосе когда платформы камера вверх едет то такое ощущение что 15 FPS , Эти в игре так же? или видео?
Ответ в комментарии ниже увидел .оставлю свой момент для повышения статистике алгоритмов ютуба
Спасибо)
7:34 В блендере есть питон скрипты которые работают быстро, если мало опыта с модификаторами или нодами это очень может помочь (лично через гпт пишут скрипты)
Да, я только на базовом уровне умею в блендер.
Можно просто собрать пустой проект в Android studio, создать папку ассеts с исходниками на JS. Потом на Java или Kolin активировать JS в WebView.
Да, конечно можно и так. Мне просто этот метод показался немного удобнее так как в Capacitor уведомления, геолокация, камера, доступ к хранилищу и т. д. доступны как обычные компоненты из react-приложения. Ну и плюс в самом android studio/xcode уже ничего не надо трогать, открываем только, чтобы собрать установочный файл/протестировать.
Можно сделать тоже самое если приложение написано на react + electron?
Да, конечно. Сам react-проект никак менять не нужно, просто будут отдельные папки с компиляциями под десктопные и мобильные версии. Плюс там еще есть возможность использовать различные нативные API по типу геолокации, акселлерометра и т. д. и также дописывать плагины на нативных языках (swift/kotlin) уже в папках ios/android. Вот здесь подробнее об этой утилите - capacitorjs.com/
Что то сложное , позоду для продвинутых
Попробуйте почитать вот эту статью, возможно поможет лучше понять теоретическую часть - htmlacademy.ru/blog/js/redux
Можно ли сделать такое приложение в виде ярлыка?
Вы имеете ввиду PWA? Если да, то здесь урок (там тот же принцип для виндовс) - th-cam.com/video/8mO2ikXyQ84/w-d-xo.html
Жесть даже не знал что на React можно делать игры.
<button id="left" style=" font-size: 20pt; padding: 10pt; ">Left</button> <button id="right" style=" font-size: 20pt; padding: 10pt; ">Right</button> <p id="hero" style=" background-color: blue; font-size: 25pt; padding: 20pt; width: 30%; text-align: center; position: relative; left: 0px; ">Text</p> <script> let hero = window.document.querySelector('#hero'); let rightButton = window.document.querySelector('#right'); let leftButton = window.document.querySelector('#left'); let rightPosition = 0; let leftPosition = 0; const clickHandler = () =>{ if (hero.style.backgroundColor === 'grey') { hero.style.backgroundColor = 'blue'; } else { hero.style.backgroundColor = 'grey'; } } const rightHandler = () => { rightPosition = rightPosition + 20; hero.style.left = `${rightPosition}px`; } const leftHandler = () => { leftPosition = leftPosition - 20; hero.style.left = `${leftPosition}px`; } hero.onclick = clickHandler; rightButton.onclick = rightHandler; leftButton.onclick = leftHandler; </script> Всё работает. Но смущает что после нескольких кликов right при попытке нажать left кнопка переходит в исходное положение и потом двигается в лево. Как сделать так что бы после нажатия left расстояние отнималось не от исходного а от положения в котором она сейчас находится. const leftHandler = () => { leftPosition = leftPosition - 20; (если здесь поменять на leftPosition = rightPosition - 20; то кнопка срабатывает 1 раз и всё. Как автоматизировать шаблон?) hero.style.left = `${leftPosition}px`;
Можете попробавать создать вместо rightPosition и leftPosition одну переменную horizontalPosition и изменять только ее.
👍🏼👍🏼
Спасибо 🙏
Привет лучший как всегда 😊
Спасибо 🙏🙏
Когда ввожу npm create vite@latest и выбираю Svelte, TypeScript у меня выдает много разных ошибок, а если выбираю JavaScript, все нормально, что делать?
Может вот так получится - npm create vite@latest app-name -- --template svelte-ts
@@AterosDev сразу при написании этой команды (как и при обычном) вылезают, например, следующие ошибки в tsconfig.json: 1. File '@tsconfig/svelte/tsconfig.json' not found.ts 2. Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'. 3. Referenced project 'c:/Users/Alex/project/app-name/tsconfig.node.json' may not disable emit.
как сделать через елемент <div> в html текст в центре по висоте?
Здравствуйте. Извините, что так поздно отвечаю, вы наверное уже нашли решение, я напишу для других. Один из способов - добавить для div следующие css-свойства: display: flex; align-items: center;
@@AterosDev здраствуйте, спасибо что ответили, я еще не находил решения до таво как ви ответили
Рад, что смог помочь.
Не думаю что ты ответишь спустя такое время. Твой ролик пушка, занимаюсь фронтом давно но не знал что могу толком не добавляя новых знаний делать еще и десктопные приложения на js, это просто пушечно. Подскажи пожалуйста, если все же ответишь, вот есть puppeter на js, меня интересует, как я могу запускать puppeter через интерфейс электрона?
Спасибо, мне очень приятно 🙏 Рад, что вам понравился мой урок. Загуглите "межпроцессное взаимодействие в electron", надеюсь поможет.
сидел думал почему код не работает, пробовал через райт позицию, вернулся к вычетанию с лефт, дальше думал, в итоге я ивент действие забыл добавить, чтоб при нажатии оно запустилось)
Главное что все получилось, молодец 💪👍👍
Сильно! Как сложно конечно для того, кто только учится...... Всем Адекватности мира и добра, ребята.
Спасибо 🙏 Рад, что вам понравилось.
Не могу поверить как ты старался у меня получилось
Спасибо) Рад что у вас все получилось 🙏
Первый подобный пример без воды и лишней болтовни... Спасибо вам за вашу работу
Спасибо, мне очень приятно 🙏
Гениально
Спасибо)
Молодец
Спасибо)
Супер понятно,респект большой.
Покажи как сделать всплывающее окно при наведении мыши на какой нибудь объект
Посмотрим, может в следующих уроках...
очень круто!
Спасибо) 🙏
Прошу прощения, а можно ли на эти объекты добавлять свои текстуры? Скажем, картинки, через имг СКР, или что-то такое?
Здравствуйте. Да, конечно. Вот здесь у меня есть урок по этой теме - th-cam.com/video/D4Y-i1zPNBY/w-d-xo.html
@@AterosDev Окей, благодарю)
МОЛОДЦА !!!!
Спасибо)
Вот знаете , очень страшно , что после блока ютабчика - пропадут подобные авторы . Родной, ты не теряйся и дай знать , где тебе искать 🤝
Спасибо большое, мне очень приятно 🙏 Да, если что обьязательно.
Раньше делал небольшую игру на three а сейчас попробовал babylon. Заметил интернсный момент, js файл после сборки у three занимает 1mb. А у babylon 10mb. Для маленького проэкта бабилон уж очень тяжелая либа. Он настолько лучше по функционалу чтобы выбирать его?
Что касается работы с 3д в вебе, обе библиотеки хорошие, просто babylon предлагает немного больший функционал именно для создания игр.
Классные видосы
Спасибо 🙏
пожелаю удачи
Спасибо)
у кого не отображаются сердечки попробуйте изменить -2 на другие цифры, у меня : this.img.style.bottom = ((window.screen.height / 32) -6) * 32;
у кого дергается анимация удалите строчку: //this.img.style.widht = this.blockSize*4; там автор ошибся и написал WIDHT, а не WIDTH
Спасибо за урок. Подскажите, возникает следующая ошибка при запуске приложения на windows 7 "....exe. не является приложением Win32" Сборку делал как x32, так и x64 При запуске на win10,11 такой ошибки не возникает и приложение работает
Может поможет вот эта команда - npm run package -- --platform=win32 --arch=ia32
@@AterosDev пробовал, не помогает(
Здравствуйте. Нашел вот эту статью - www.electronjs.org/ru/blog/windows-7-to-8-1-deprecation-notice Кажется они прекратили поддержку windows ниже десятой. Я думаю можно попробавать (если делаете для себя и несложный проект) переустановить версию пакета на 22. Может так заработает...
Ссылка не рабочая(( Спасибо за подсказку, на виртуальной машине запустилось! На следующей неделе будем пробовать непосредственно на машинах с вин7 @@AterosDev
Извините, это я виноват, добавил скобку в конце поэтому не робатала ссылка. Уже исправил можете потом посмотреть если захотите. Рад, что смог помочь. Удачи вам с проектом.
Как сделать аналогично npm run make, только что бы на выходе получить .dmg для мак?
Привет. Вот здесь инструкция - www.electronforge.io/config/makers/dmg
@@AterosDev Спасибо за ответ! Уже разобрался с этим. Только есть нюанс, для мак сборку нужно тоже выполнять на маке
Да, конечно. И с линукс и виндовс так же, всегда надо на целевой платформе собирать. Не за что, обращайтесь если что.
как же оно лагает
Это просто на записи так, сама игра нормально работает
Давай еще не останавливайся
Спасибо за поддержку) 🙏
Нихерасебе
Красава, хороший канал!
Спасибо) 🙏
Спасибо за ваш труд❤ Очень помогает разобраться
Спасибо, мне приятно. Рад, что смог вам помочь 🙏
Полезно знать такие вещи для веб разработчика
У меня никак не получается, уже по всякому пытался получается просто белый экран у desktop, кто может помочь и как с вами связаться заранее спасибо
@Ateros нужна очень помощь
Здравствуйте. Извините, что так поздно отвечаю, вы наверное уже нашли решение. Если нет - можете попробовать задать вопрос на stackverflow, возможно кто-то уже сталкивался с таким. К сожалению пока-что единственный способ связи со мной - этот канал. Многие уже просили телеграм либо что-то такое, но я пока к этому еще не готов, может в будущем что-то придумаю...
Одним циклом наверное будет проще рисовать "сердечки": const addHearts = () => { for (let i = 0; i < maxLives; i++) if ( i < lives ) { let heartRed = new HeartRed(i) } else { let heartEmpty = new HeartEmpty(i) } }
Да, так лучше
Спасибо за видео, за терпеливое объяснение . Все на высшем уровне🔥
Спасибо, мне приятно 🙏
привеееееет!
Привет)
У меня лагает игра, но комп мощный, на всех пк лагает хз с чем связано
Та, которую я на github pages опубликовал, или ваш код?