Создание игры на чистом JavaScript за 20 минут!
Регистрация на урок: vk.cc/83Osiw
Создание игр на JavaScript и HTML стало возможным с приходом HTML5. В этом видео мы создадим небольшую 2D игру на подобии игры Flappy Bird всего за 20 минут. При этом мы будем использовать лишь чистый JavaScript код!
Статья со всеми материалами к игре: itproger.com/news/104
✔ Сообщество программистов: itproger.com/
✔ -------------
Вступай в группу Вк - prog_life 🚀
Группа FaceBook - goo.gl/XW0aaP
Instagram: / gosha_dudar
Telegram: t.me/itProger_official
Twitter - / goshadudar
- Уроки от #GoshaDudar 👨🏼💻
- Все уроки по хештегу #GoshaLessons
Пікірлер: 536
Спасибо за видео! Я ни разу не сталкивался с графикой, было очень интересно ознакомиться с основными принципами!
Супер! Давно ждал подобных видео! Так держать
круто! я писала за вами, то есть сама писала код повторяла за вами - и все получилось! ушло правда не 20 мин, а где-то час.. но для новичка без опыта в js (базовые знания) - это прекрасно!)) спасибо! сейчас такая эйфория, я написала свою первую игру!))
@semyondyachenko4183
4 жыл бұрын
переписала*
@relaxedevil5310
2 жыл бұрын
@@semyondyachenko4183 дай женщине порадовать себя,она написала все таки
Действительно, всё гениальное - просто!
Short and talented lesson! Well done!
Благодарю, было очень интересно.
молодчага, ответил на множество вопросов в одном видео))) спасибо!
Очень прикольно :) спасибо за разбор. Надо попробовать повторить)
Словли... Від темпу твого пояснення, сам почав думати, що я кудись спізнююсь!) Хороший інформативний відос!
Хорошо что без воды. Не серьёзно - только самое главное. Вот так надо туториалы делать.
Мне зашло, все понятно и интересно! Но совсем новичкам будет трудно!
@delight2229
5 жыл бұрын
на learn.javascript надо изучиьь основы джс , и теги верстки понимать хотя бы. Не так трудно будет
@ilnev3738
4 жыл бұрын
Ну я новичок , и мне чета было все понятно
@anyka-6823
2 жыл бұрын
Интересно было ещё на использование объектов посмотреть. И рисовку в скрипте напрямую. (интересно какие тут плюсы по сравнению с использованием файла css)
Спасибо за видео, я новичок в программировании мне понравилось.
Спасибо, помогли мне сдать экзамен по информатике
Отличное видео и все получилось!
очень полезно! спасибо)
спасибо, все очень интересно и понятно)
Круто!Давай больше игрушек
Как же круто сделать игру чисто на JavaScript, не используя движки) Благодарим за видео. Очень информативно
@user-ub9wv4vo9x
3 жыл бұрын
Ага)
Отличное видео!
Спасибо тебе большое, учу JS и вот решил посмотреть про веб-игры! Класс всё супер это крута! Хочу свою разработать!🥰🥰
@user-gc1up4yy2h
Жыл бұрын
привіт і як воно? є лінк на Git?
Круто, спасибо!
Спасибо. Интересно!
Мега спасибо, давно интересуюсь етой темой, все никак руки не доходили. Все просто и понятно базис задан дальше просто розвивать напрвление.
Ещё была добавлено условие очистки массива. Чтобы он не стремился к бесконечности. if (pipe.length > 2){ pipe.shift() }
отличный материал))
Написал свою игрушку , очень рад!
@semyondyachenko4183
4 жыл бұрын
списал*
Круто!!!)))
Классный урок! Жаль, что можно поставить только один лайк - я бы поставил тысячу лайков)
Блин чувак спасибо , ты топ
Спасибо за видео
Базара нет, брат. Достойно всё пояснил мне за жизнь. теперь я лучше понимаю как жить грамотно. От души!
@lkllmjjn8654
3 жыл бұрын
фарту масти д.ж.с жава скрипту .вечно
Норм получилось, наверно это одна из тех что надо написать, есть даже челлендж флэпиберд за 25строк кода)
Круто!!
братан тебе огромное спс у мня сработала!! Я изменил параметры, и все готово! (я писал коды на Visual Studio Code) больше таких видосов! с меня подписка и лайк. ПРИВЕТ ИЗ УЗБЕКИСТАНА!
@user-hq2xv1zb7g
2 жыл бұрын
Тебе привет из Дагестана.)))
спасибо за урок я тоже навичок 7 лет вот прем5ерно три месецасмотрю уроки😊😊😊
Исламов походу всем забашлял за рекламу)
Огромное спасибо, все подробно пояснил, а на сайте суховато это было описано. Всё работает
@nikitanedelcu3102
4 жыл бұрын
Все делаю как в уроке,но картинки не появляются на странице
@user-ih6mn6ee9c
3 жыл бұрын
@@nikitanedelcu3102 тоже самое,уже зае*ало
Сделай движение дива по документу(область экрана) с препятствием.
fly.pause() fly.currentTime = 0 fly.play()
@blackstardg
3 жыл бұрын
Спасибо только что об этом подумал.
@evdokimovm
3 жыл бұрын
@BACKOB LOX коды на гытыа
@T.a.n.y.a.10
2 жыл бұрын
Это для паузы? А где его писать какая строчка кода
@evdokimovm
2 жыл бұрын
@@T.a.n.y.a.10 На 20:30. 30 строка. Это для того чтобы звук взлета не накладывался один на другой когда на кнопку нажимаешь, а проигрывался при нажатии каждый раз с начала.
А видосики у тебя классные. Хоть Я и не смотрю все, но лайки всегда ставлю)
@LobanovSpace
6 жыл бұрын
Ценный подписчик)
Я новичок. Пока что прохожу переменные. Но очень интересно было для меня
Подскажите какие плагины использовать для всплывающих команд как указано на 9:46 - 9:49 на примере requestAnimationFrame
В игре есть БАГ. После прохождения первого препятствия, если птичка падает то она падает за "экран" при этом очки начисляются дальше и игра продолжается. Т.е нет срабатывания припятствия "земли"
@user-vg1sr9ye5s
3 жыл бұрын
УРА! Хоть кто-то написал..У меня такая же проблема.
Вау, это круто.
Надо было ускорение свободного падения реализовать) птичка с одинаковой скоростью падает
отличный урок
Прошу помогите,я делал все,как говорил автор,но у меня проблема с картинками я,когда делаю фон,то нечего нет просто пустота как и был белый фон так и остался,что делать?
@flyyye
4 жыл бұрын
+
@user_kott3
4 жыл бұрын
Вы правильно указали название изображения?
@Mercblck
4 жыл бұрын
Если изображение не появляется то вы не так веди названия картинки, или не в той папке
@Aaa-iq7fp
4 жыл бұрын
чувак getContext замени на ctx = cvs.getContext
@ilnev3738
4 жыл бұрын
Посмотри какой фон если он пустой то сделай его не пустым, также проверь правильно ли ты прописал путь к картинке
Рекламу лучше делать в начале или конце ролика с мысли сбивает.
@elijahatlas5203
2 жыл бұрын
I know im asking randomly but does anybody know a trick to get back into an instagram account? I was stupid forgot the account password. I would love any assistance you can give me.
@rylandtrenton5919
2 жыл бұрын
@Elijah Atlas instablaster =)
@elijahatlas5203
2 жыл бұрын
@Ryland Trenton I really appreciate your reply. I found the site through google and Im in the hacking process now. Looks like it's gonna take quite some time so I will get back to you later with my results.
@elijahatlas5203
2 жыл бұрын
@Ryland Trenton It worked and I actually got access to my account again. I am so happy! Thank you so much, you saved my account!
@rylandtrenton5919
2 жыл бұрын
@Elijah Atlas no problem :D
спасибо)!!
kzread.info/dash/bejne/fmRry5agXd3OdKQ.html - оригинал. Но за перевод, спасибо.
@user-fm1lv5um4s
4 жыл бұрын
)))))))))))))). Он вечно занимается плагиатом.
@strel9
4 жыл бұрын
когда смотрел, как раз об этом подумал, плагиат или сам придумал)
@Red1ska
4 жыл бұрын
Вы еще скажите что тот парень из оригинала сплагиатил с разработчика игры
@saidamir6538
3 жыл бұрын
@@Red1ska +
@Mykhailo_Vdovychenko
3 жыл бұрын
Тай хорошо что перевел, ато на английском не всегда все понятно, так что Гоша красавчик 👍👍👍
смотришь на эти формулы, и чувствуешь себя "дриопитеком из полиозойской эры" 🙉🦴
Вот спасибо!
Мне кажется, что все (ну или почти все) кто попытался поворить за автором на самом деле имели одну и ту же проблему - не загружалась графика. А те, кто писали, что видео крутое - просто его посмотрели, но повторить не пытались.
@Kolabrod
4 жыл бұрын
pipeBottom.onload = setInterval(() => { draw(); }, 100);
@yaroslavyarmysh5553
4 жыл бұрын
Это самый точьный овет. Я с групо питался повторить,
@alexd4103
4 жыл бұрын
@@yaroslavyarmysh5553 в HTML файле вместо DIV поставь тег CANVAS
@skazochnik4268
4 жыл бұрын
Все норм работает
@puolchen2632
4 жыл бұрын
@@Kolabrod Спасибо Вам огромное! У меня всё получилось. Ещё раз СПАСИБО!!!!
спасибо у меня вышло!
Гоша, пожалуйста, расскажи по больше про юнити
Крассавчик
Отличный видеоурок Есть какая-то проблема, в хроме птичка через раз уходит за текстуру fg В браузере сафари все работает без какого-либо бага как можно было бы исправить ситуацию?
Привет с 2020 видео нереально крутое
Я все понял спасибо!
Бро, а где можно посмотреть, как скачать среду, ну там где нужно писать игры, прост только начал заниматься?
@user-lm8py5rb4m
3 жыл бұрын
Unity
Спасибо, интересно. Немного устарело, вместо вар юзают const/let, а обращаться можно через querySelector. То сути не меняет.
@anyka-6823
2 жыл бұрын
Можно и querySelector но через id быстрее.
большое спасибо
то есть при вызове pipeBottom у тебя вызывается в браузере bg?
Реклама на 1 минуту! Сильно.
Добрый день. Георгий Подскажите можно ли найти что-то подобное в принципе? Как лучше поступить ? Писать игру с нуля не получится точно! Простая карточная игра (качество и сложность не важно. лучше что-то по проще..) HTML, CSS, JS, MySQL Описание: Регистрация игрока, Минимум два участника Спасибо
Круто
Прикольно
Хотел сделать свою анимацию, мне просто надо было посмотреть, как отрисовать объекты в canvas, но если делать точно по видео, то не работает даже это
@mmdcrw
2 жыл бұрын
Руки из задницы у тебя.
Очень познавательно, хотелось бы узнать можно ли создать ссылку таким же образом? Чтоб например при нажатии на картинку переходило на другую страницу? Спасибо
@ver_v71
4 жыл бұрын
Можно, но там немного другое. Канвас браузером воспринимается как просто набор пикселей, а не картинок или слов, да и я уже разобралась
Просто вау
Вы картину 3:40 минуте копировали это получается таблица td tr ?
у меня атом не выделяет переменные красным цветом ,не могу понять в чем проблема
@kirillsemenov6583
3 жыл бұрын
у тебя реактор другой похоже
Здравствуйте, я раньше писал графику на c++ + opengl и там все более низкоуровнево. Я решил отклониться от хода урока и попробовать возможности. В итоге столкнулся с проблемой, что птички не перерисовываються в новом месте, а остаються на старом+рисуется на новом. С чем это может быть связано? В опен гл мы вручную всегда чистем буфер картинки, и рисуем ее сначала. Тут я таких функций не заметил(в вашем уроке). В чем может быть проблемма?
@impisigmatus
6 жыл бұрын
вот функция отрисовки function draw() { context.drawImage(img, x, y); requestAnimationFrame(draw); } img.onload = draw;
@The14Some1
6 жыл бұрын
Фона нет? Видимо тут тоже нужно каждый раз строить изображение по слоям перед реквестом.
Лучше все время изменять переменную grav на -1, а в момент прыжка ставить пременной grav значение 10. Тогда игра будет больше похожа на Flappy Bird.
@xyz_viz6604
Жыл бұрын
можешь написать кодом? хочу так сделать
Может кто подскажет! в общем пробовал этот пример и в хроме показывает ошибку "изображение не определено" в чем может быть проблема???
Да нормальный видосик, мне понравилось, для тех кто только учит Js намного понятнее смьреть ьакую практику нежели какие то максимальнл нудные уроки где тупо считают циферки Я бы хотел уаидеть еще таких видосиков но немножко по сложнее
@myster1ousdemon
5 жыл бұрын
Идиот.
@user-pn7gq3gk1m
5 жыл бұрын
Dmitry Morozov ты идиот
@rayni6389
5 жыл бұрын
С такими целями ты так и останешься не зная этот язык.
Нихуя не понял,но очень интересно
@davidelbakian6399
4 жыл бұрын
)))
@user-cn6gs7hp4j
4 жыл бұрын
Такая же фигня, чувак)
@oraclevb5430
4 жыл бұрын
ахах
@user-wg5gp4tg3v
3 жыл бұрын
а ты хотя бы учил язык?
@crawd9296
3 жыл бұрын
@@user-wg5gp4tg3v да
А можно самому картинки нарисовать и свои звуки добавить и отправить другу поиграть?
Как сделать что бы страница не перезагружалась, а приостанавливалось движение блоков (игра замирала)?
благодарочка
Добрый вечер! А какой редактор когда Вы используете? На Adobe Dreamweaver вроде не похоже.
@Alexey-Balashov
5 жыл бұрын
P.s. порекомендуйте, пожалуйста, хороший редактор кода для js. У меня Windows.
@eucliwoodscythe
5 жыл бұрын
@@Alexey-Balashov Atom
@Alexey-Balashov
5 жыл бұрын
@@eucliwoodscythe Спасибо за ответ.
Очень интересно! Подскажи пожалуйста, как сделать вывод информации на странице сайта в виде дерева (иерархия). Чтобы по этому дереву можно было перещаться масштабировать как навигация на карте.
@psevdonim753
Жыл бұрын
Ставишь с помощью тега а якорь на что нибудь, и эти теги вместе как нибудь собираешь
а проехавшие пайпы не надо из массива удалять?
@megalodon1052
4 жыл бұрын
Смысла нет, игра очень простая и это не жрет много ресурсов компа.
@parrotsarenice
4 жыл бұрын
@@megalodon1052 ну как сказать, лучше всё таки удалять)
@angrycatstudio2816
4 жыл бұрын
А как это сделать
@megalodon1052
4 жыл бұрын
@@angrycatstudio2816 pop()
@kiwii2539
4 жыл бұрын
@@angrycatstudio2816 пропишите условие if что когда координаты ровны n числу вы могли использовать pop() let clearEl ==...) If(cordinate == clearEl) { Масив.pop() }
А добавить анимацию нельзя? Ну, чтоб птичка вверх и вниз опускалась как в игре оригинальной?
Можете скинуть ссылку для скачивания спрайтов
файл не подключается скопировал с cайта html и js коды, названия уазано правильно файл находиться в той же папке всё как у автора www index.html js audio img game.js вот так располагаются файлы но всё равно ни чего не работает в чём может быть проблема?
Спасибо
А будет ли польза если допустим птичка пролетела 10 труб и самая первая удаляется из массива?
В любом случае кланяюсь трижды.
А как сделать такой же массив на C#??? Подскажите пожалуйста.
У меня ошибка: TypeError: cvs is null. Я просто списывал код, но свои имена переменных ( так как хотел позже взять свои текстуры). Долго пытался разобраться в чём проблема, в конце просто скопировал код с сайта с материалами, но ошибка осталась! Я не понимаю в чём моя проблема, если код оригинальный и я ничего не менял.
Есть ещё какой-то способ что бы при прикосновении к трубе игра рестарталась?
Как ты сделал // Позиция птички?
Есть вопрос стоит ли смотреть видеокурсы по JS от автора за 2015 год ?
@MrBadbolt
5 жыл бұрын
Основы начнёшь понимать , но лучше конечно сразу JQuery
Давай новые уроки по Unity!!!!
Подскажи пожалуста. Я после написания draw. У меня ничего не появляеться, в чём может быть дело?
@marki8951
5 жыл бұрын
У меня тоже
@FrankMatrix
5 жыл бұрын
@@marki8951 скопируйте с сайте код и будет вам счастье
@marki8951
5 жыл бұрын
@@FrankMatrix спасибо сроботало
@catto88
5 жыл бұрын
И у меня.
@kollaps2006
5 жыл бұрын
@@catto88 У меня работает только если пнг
Я делал всё, как показывал автор, но со страницей ничего не происходит. Посмотрел коменты поменял на pipeBottom.onload = setInterval(() => { draw(); }, 100); draw(); Но ничего не произошло. Помогите пожалуйста.
А как перевести старые игры flash в html5 ?
на каком программе вы набираете коды. просто блокнот или какая то программа
@Drago-pq2pl
5 жыл бұрын
через atom
а как поставить двойные палочки? эти палочки в между 58 и 59 строкой в js