Учим HTML5 Canvas за 30 минут!

Поделиться
HTML-код
  • Опубликовано: 25 авг 2024
  • Изучаем работу с HTML5 Canvas и уже сходу пишем что-то настоящее.
    В уроке будет работа с примитивами, работа с текстом, с градиентом, с анимацией, а также многое другое.
    В целом весело и легко =)
    =
    💗 🤟 👊 Участвовать в интенсиве по JS: wep.wf/daaldi
    =
    🆇 Ссылки из видео 🆇
    𝟭: Всё по Canvas www.w3schools....
    Наш паблик: how...
    Наш телеграм: t.me/howdyho
    Сотрудничество topic-8...
    💗 Музыка предоставлена RUclips Audio Library.

Комментарии • 318

  • @ArtikMan1994
    @ArtikMan1994 6 лет назад +91

    Блин, как же я хотел этого видео и тут БАЦ, канвас за 30 минут=) Спасибо Хауди!=)

    • @HowdyhoNet
      @HowdyhoNet  6 лет назад +19

      Рад помочь!)

    • @ogurchek9366
      @ogurchek9366 4 года назад +2

      @@HowdyhoNet а как сдєлать штоб круг рисовался при простом нажатиє? линия вєдьотс а круг сам не рисуется. Я не руский. Извините за не грамотность

    • @ilnev3738
      @ilnev3738 4 года назад +1

      @@ogurchek9366 он показывал в видео

  • @MegaDragon1112
    @MegaDragon1112 6 лет назад +58

    Спасибо за то, что делаешь такие познавательные уроки. Благодаря твоим видео, у меня появляется мотивация на изучение языка. Спасибо!

    • @HowdyhoNet
      @HowdyhoNet  6 лет назад +13

      Рад помочь

    • @MegaDragon1112
      @MegaDragon1112 4 года назад +1

      @@synthesisone2787 Да, прошелся по HTML/CSS/JavaScript/PHP/Mysql, сейчас всё закрепляю практикой параллельно изучая WordPress

    • @swokko88
      @swokko88 4 года назад +1

      @@MegaDragon1112 а Python?)

    • @user-jw1pc9ls1x
      @user-jw1pc9ls1x 3 года назад

      @@swokko88 зачем, если он php выучил, я вообще буду node js учить, хотя он не легкий, но я чисто по js иду

    • @swokko88
      @swokko88 3 года назад

      @@user-jw1pc9ls1x я рофлю
      И NodeJS легче обычного JS

  • @i2ri2k13
    @i2ri2k13 3 года назад +8

    Я прям почувствовал как Хауди чувствует себя в js. Как масло в сыре!

  • @vivettanors
    @vivettanors 3 года назад +6

    Хорошая подача урока, сжато и четко. Для понимания вектора развития очень подойдет. Однозначно лайк.

  • @ilikemycat9444
    @ilikemycat9444 4 года назад +33

    Посмотрел....Теперь играю не в игры а в HTML

  • @riwkus
    @riwkus Год назад +2

    Жаль что нельзя поставить несколько лайков. Урок гораздо лучше чем многие аналоги на Ютубе. Спасибо!

  • @oskarrimjan4520
    @oskarrimjan4520 4 года назад +7

    Как же у меня горит жопа!!
    Это очень классная обучалка и вообще я люблю этот канал, тк здесь приятная подача материала, но нельзя так быстро объяснять!
    Я смотрел этот видос часа 2 и за это время я посмотрел только 20 минут!
    Надо делать всё медленнее, чтобы человек, который пытается что-то выучить успевал за тобой😁

  • @user-io3ti7kf2k
    @user-io3ti7kf2k 5 лет назад +3

    Ты очень крутой программист, я уже давно смотрю тебя и многому научился, по больше таких поучительных видео только порадует твоих подписчиков. 👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👏👏👏👏👏👏👏👏👏👏👏👏🏼👏🏼👏🏼👏🏼

  • @vitaliypogoretsky3199
    @vitaliypogoretsky3199 6 лет назад +3

    Спасибки! Это были продуктивные полутора часа просмотра и практики =)

  • @faust374
    @faust374 6 лет назад +1

    Хауди, спасибо тебе большое за твою работу.. Очень мотивируешь и просто в кайф смотреть твои видео)

  • @user-ir8nd6mj2b
    @user-ir8nd6mj2b 6 лет назад +93

    У меня есть такое правило: если дело касается видео *Хауди ХО*- тогда вначале ЛАЙК, а потом просмотр 😏

  • @dede6834
    @dede6834 4 года назад +29

    Нихуя не понял, но очень интересно
    P.S Ну понял немного, но только из знаний в англиском языке.

  • @holdongang6262
    @holdongang6262 6 лет назад +23

    Если кому-то лень писать ручками, а похвастаться хочется то вот:
    Painter 1.0
    Sorry, U mad bro..
    var
    canv = document.getElementById('canvas'),
    ctx = canv.getContext('2d'),
    isMouseDown = false,
    coords = [];
    canv.width = window.innerWidth;
    canv.height = window.innerHeight;
    // Code
    canv.addEventListener('mousedown', function(){
    isMouseDown = true;
    });
    canv.addEventListener('mouseup', function(){
    isMouseDown = false;
    ctx.beginPath();
    coords.push('mouseup');
    });
    ctx.lineWidth = 10 * 2;
    canv.addEventListener('mousemove', function (e){
    if( isMouseDown )
    {
    coords.push([e.clientX, e.clientY]);
    ctx.lineTo(e.clientX, e.clientY);
    ctx.stroke();
    ctx.beginPath();
    ctx.arc(e.clientX, e.clientY, 10, 0, Math.PI * 2);
    ctx.fill();
    ctx.beginPath();
    ctx.moveTo(e.clientX, e.clientY);
    }
    });
    function save (){
    localStorage.setItem('coords', JSON.stringify(coords));
    }
    function clear (){
    ctx.fillStyle = 'white';
    ctx.fillRect(0, 0, canv.width, canv.height);
    ctx.beginPath();
    ctx.fillStyle = '#000';
    }
    function replay (){
    var
    timer = setInterval(function (){
    if( !coords.length )
    {
    clearInterval(timer);
    ctx.beginPath();
    return;
    }
    var
    crd = coords.shift(),
    e = {
    clientX: crd["0"],
    clientY: crd["1"]
    };
    ctx.lineTo(e.clientX, e.clientY);
    ctx.stroke();
    ctx.beginPath();
    ctx.arc(e.clientX, e.clientY, 10, 0, Math.PI * 2);
    ctx.fill();
    ctx.beginPath();
    ctx.moveTo(e.clientX, e.clientY);
    }, 20);
    }
    document.addEventListener('keydown', function(e){
    if( e.keyCode == 83)
    {
    // save
    save();
    console.log('Saved');
    }
    if( e.keyCode == 82)
    {
    // replay
    console.log('Replaying...');
    coords = JSON.parse(localStorage.getItem('coords'));
    clear();
    replay();
    }
    if( e.keyCode == 67)
    {
    // clear
    clear();
    console.log('Cleared');
    }
    });
    :-)

  • @__Minecraft_Poseidon__
    @__Minecraft_Poseidon__ 6 лет назад +60

    очищать экран лучше так ctx.clearRect(0,0,w,h)
    вместо
    ctx.fillStyle = 'white'
    ctx.fillRect(0,0,w,h)

    • @bogdan_ov
      @bogdan_ov 5 лет назад +1

      Конечно! Кого он учит!!?

    • @jamesflanders994
      @jamesflanders994 4 года назад +2

      @@bogdan_ov Людей. По крайней мере с виду.

  • @huyna_polnaya
    @huyna_polnaya 6 лет назад +64

    Пожалуйста сделай урок по Bootstrap 4🙏

    • @MrAmir991
      @MrAmir991 6 лет назад +4

      У WebDesign Master есть урок

    • @user-xtkjdtr16
      @user-xtkjdtr16 5 лет назад +3

      У Гоши Дударя есть такой урок.

    • @newview8925
      @newview8925 4 года назад

      У it doctor есть хорошие уроки

  • @teslafeo1614
    @teslafeo1614 6 лет назад +1

    куча положительных эмоций! спасибо!))

  • @lime1453
    @lime1453 2 года назад +2

    Ты за 11 минут рассказал больше чем я за пол года уча java script

  • @user-fo8bg3wp8c
    @user-fo8bg3wp8c 6 лет назад +27

    Я выучил за 30 минут ! Спасибо ! Мне всего лишь пришлось изучить много чего(опустим подробности), потом я стал опытным разработчиком через 15 лет я стал профи, после изобрели машину времени, доллар обесценился, биткоин развалился, путина избрали на 17 срок, после заморозки медведева. Теперь я вернулся из будущего Сеньором и выгнал себя который сейчас в прошлое что бы изобрести Эпл, если чего пишите помогу советом, я же теперь миллиардер и мне ничего не надо делать, у меня много свободного времени.

    • @michaelqi6985
      @michaelqi6985 6 лет назад

      Что сделать, что бы через час у меня было 1000$?

    • @user-fo8bg3wp8c
      @user-fo8bg3wp8c 6 лет назад +2

      Значит можно взять кредит.

    • @UserSashko
      @UserSashko 6 лет назад +2

      что ты куришь?

    • @_dyats
      @_dyats 6 лет назад +5

      Эээээ, чё ты врешь людям Путин был только 13 сроков(и то это уже его "двойники", потому что первый умер 2 года после первого срока), ты походу был в паралельной реальности-_-, смотри мне тут, как бы временно-просторовый континиум не взорвался, ато тогда всем жопа

    • @user-fo8bg3wp8c
      @user-fo8bg3wp8c 6 лет назад +2

      Курю сигареты Treasurer

  • @777Vasya77
    @777Vasya77 6 лет назад +4

    Годнота! Спасибо)

  • @lubbutel_porrjaty172
    @lubbutel_porrjaty172 3 года назад

    Всё просто и понятно, спасибо Хауди

  • @lsoka8928
    @lsoka8928 6 лет назад +2

    *классный урок, а те кто хотят по серьёзнее освоить канвас, и вообще js, то советую прочитать книгу - javascript для самых маленьких, очень интересная книга, не пожалеете потраченного времени;)
    Хауди, ставь лайк, если читал эту книгу :)))*

    • @Max-kr4ie
      @Max-kr4ie 5 лет назад

      Спасибо ушел читать) надеюсь ты жив здоров.

  • @Kot_off
    @Kot_off 6 лет назад

    Как всегда видео на высшем уровне)

  • @user-vn4vj3xk9q
    @user-vn4vj3xk9q 6 лет назад +88

    Хм...
    Гоша Дударь...
    Хауди Хо...
    Гоша Хо...?
    Хауди Дударь...?

    • @Liventer
      @Liventer 5 лет назад +18

      Хм...
      Ивангай...
      Марьяна Ро...
      Иван Ро...?
      Марьгай...?

    • @GameChannelOfficial
      @GameChannelOfficial 5 лет назад +2

      ару

    • @user-is2xz3zt6h
      @user-is2xz3zt6h 3 года назад

      Рамиль
      у тебя на автарке ТЫ, после написания коммента.

    • @i2ri2k13
      @i2ri2k13 3 года назад +4

      @@Liventer Хм...
      Хауди Хо...
      Гоша Дударь...
      Марьяна Ро...
      Ивангай...
      Хауди Ро.
      Гоша гай.
      Марьяна Дударь.
      Иван Хо!

    • @xaosit8974
      @xaosit8974 3 года назад

      Гошауди, Хаоша

  • @bipiwnik
    @bipiwnik 6 лет назад +16

    Вишенка на торте хайпа

  • @Evgeny..
    @Evgeny.. 2 года назад

    Ого, реклама Ивана Петреченко, я у него когда то учился, теперь работаю))

  • @xenonist4502
    @xenonist4502 4 года назад +2

    За видео спасибо, давно пытался и бросил писать "Paint", т.к. не нашёл самостоятельно решения как избавиться от этих gap'ов.
    Есть вопрос: в чём разница на что вешать обработчик событий клавиатуры: на document или window?

  • @fartuh
    @fartuh 6 лет назад

    Так вот как эта штука работает, спасибо, хауди!

  • @rsdpalinokov1771
    @rsdpalinokov1771 6 лет назад

    Очень крутое и полезное видео от Хауди-хо!!!!!!!! Ставлю лайк!!!!!!

  • @user-wd2od2ew9v
    @user-wd2od2ew9v 10 месяцев назад

    спасибо, ваше видео мне помогло в изучении html!!!

  • @javascript7543
    @javascript7543 3 года назад

    ты мой кумир🎈

  • @vigilit-video1765
    @vigilit-video1765 6 лет назад

    Отличное видео! Спасибо!

  • @jyxaz1782
    @jyxaz1782 6 лет назад +2

    Привет, Хауди! Спасибо тебе за полезный контент :) Не думал ли ты снять видео о XML, XSL и т.п. языках?

    • @HowdyhoNet
      @HowdyhoNet  6 лет назад

      Нет, пока в планах нет таких уроков.

  • @EvilGazz
    @EvilGazz 4 года назад

    Огромное спасибо за урок!

  • @Aidar__
    @Aidar__ 2 года назад +1

    Из этого видео я понял, почему в пэинт линяя закругленная.

  • @doublebon135
    @doublebon135 6 лет назад +2

    Хауди, привет! Есть в планах продолжать уроки по kivy Python? Или пока вдохновения для питона нет ?)

  • @rokaka_4576
    @rokaka_4576 4 года назад +1

    здравствуй хауди хо
    у меня при работе с скриптом replaying выходит ошибка(html5.html:56 Uncaught TypeError: Cannot read property 'length' of null
    at html5.html:56) помоги пожалуйста

  • @yeshyeshli
    @yeshyeshli 3 года назад

    Спасибо большое за урок!

  • @HoshiramaSensei
    @HoshiramaSensei 3 года назад

    Спасибо, очень полезное видео!

  • @Aidar__
    @Aidar__ 2 года назад +1

    За песню из мема кот носок лайк)

  • @animeMoments937
    @animeMoments937 5 лет назад +2

    *ты каждый день мати вируешь меня спасибо огромное XD **#Хауди*

  • @drewkarchev7320
    @drewkarchev7320 5 лет назад +4

    Интересно. А относительно какой точки треугольник повернулся?

    • @ICruciall
      @ICruciall 3 года назад

      Наверно на пересечении серединных перпендикуляров

  • @Vimble
    @Vimble 6 лет назад

    Спасибо!Очень позгавателен ,пасиб)

  • @user-br5xx6yc3m
    @user-br5xx6yc3m 6 лет назад +1

    а все это можнл реализовать на Jquery? Или ванильный js оптимален для canvas?за видео лайк

  • @max_mgtow
    @max_mgtow 6 лет назад +5

    Спасибо Абрахам!) Ты меня надоумил воспользоваться сеопультом) Дали 500руб. даже не используя код "хо" 👍

    • @HowdyhoNet
      @HowdyhoNet  6 лет назад +2

      =)

    • @max_mgtow
      @max_mgtow 6 лет назад

      Хауди а через какое время запрос ВЧ будет в топе? Через 2 месяца или полгода? И не кинет ли Google в бан за ссылки?)

    • @HowdyhoNet
      @HowdyhoNet  6 лет назад +1

      Надо пользоваться аккуратно, я где-то говорил, что больше 5-10% бюджета на ссылки лучше не отдавать.
      Когда он окажется в топе тебе могут сказать в поддержке SeoPult.
      Главное пользуйся осторожно.

  • @dzundzanify
    @dzundzanify 6 лет назад

    Ты просто БОГ!

  • @ktoto3292
    @ktoto3292 6 лет назад

    божественное произношение англ...

  • @kukusikibabasikitv
    @kukusikibabasikitv 3 года назад

    Большое спасибо!!!

  • @user-nx9te3nu4f
    @user-nx9te3nu4f 6 лет назад +1

    Привет, Хауди! Будет ли серия уроков во JS DOM? Есть на англиском, но на русском ничего адекватного не нашел. Ты - лучший прогграмист на рутубе!)

    • @sergiynimerovsky1917
      @sergiynimerovsky1917 6 лет назад

      learn.javascript.ru, только здесь можно отлично выучить язык! (Хауди рекомендует)

  • @sarxanabdullayev6440
    @sarxanabdullayev6440 Год назад

    спасибо за урок!

  • @user-bd2mm9sq3m
    @user-bd2mm9sq3m 4 года назад +1

    Сделал все как показано в видео, но фигура не рисуется

  • @singlebw4065
    @singlebw4065 4 года назад +1

    Я чё то маленько потерялся.
    corse.push() - добавили тупо любой текст, в итоге при очередном вырезании shift получает этот текст, закидывает в объект на один элемент clientX: crd[ 0 ]
    второй clientY: crd[ 1 ] пустой остаётся и дальнейшие действия не прокатывают из-за несуразицы кода поэтому и не дорисовывает линии. Я так понимаю? Или я упустил глубокий смысл текста в push

  • @singlebw4065
    @singlebw4065 4 года назад

    Эти промежутки между шарами появляются если частота опроса мыши маленькая. При 1000 почти нормально рисуется. на 125 большие промежутки.

  • @user-tx3wc5pl5c
    @user-tx3wc5pl5c 6 лет назад +2

    лутчший урок по canvas, что видел!!!

  • @gensis5426
    @gensis5426 6 лет назад +5

    180 - like ; 0 - dislike

  • @arturmavlyuchenko7647
    @arturmavlyuchenko7647 6 лет назад +2

    Продолжение будет по Kivy?

  • @somnum1531
    @somnum1531 6 лет назад

    Спасибо за труд

  • @IldarFreeLancer
    @IldarFreeLancer 9 месяцев назад

    спасибо!

  • @nadd5386
    @nadd5386 6 лет назад +2

    Зачем нам Иван Петриченко, когда у нас есть ты?)

  • @LeanaMigdal
    @LeanaMigdal 4 года назад

    Cпасибо! Вопрос: как мне сделать изменять background-image на файл, выбранный юзером?

  • @wn4ik489
    @wn4ik489 4 года назад +1

    Что обозначают скобки { } , после того, как ты написал function replay() ?

    • @user-uw9is8gw2k
      @user-uw9is8gw2k 3 года назад

      ору, я надеюсь за 4 месяца ты хоть что то изучил, я так просто ору, зачем идти учить canvas, если ты даже не понимаешь где пишется логика у функции

    • @user-uw9is8gw2k
      @user-uw9is8gw2k 3 года назад

      @@mathiaswei8715 зачем ты мне это пишиш, я уже знаю html препроцессор kit, css препроцессор sass на синтаксисе scss, git github знаю , именно работу с консольной, js более чем основы, вот учу react и иногда node, вообще это глупо, зачем ему canvas, если он не знает что такое function, уму не постижимо, таким людям не нужно подсказывать , он должен идти основы учить, да и мы же программисты, должны сами искать ответы на свои вопросы, это важный скилл

  • @egorlaptev257
    @egorlaptev257 3 года назад +1

    *Спустя наверное год решил переписать свой старый paint :)*
    P.S: _Код пришлось сильно ужать и изуродовать т.к. он не помещался в рамках моего статуса на_ *CodePen*
    codepen.io/KOSAKURA59a56cfaf4/project/editor/ZmpeVj

  • @user-to6ls7mg5s
    @user-to6ls7mg5s 9 месяцев назад

    хоть я ни бум бум в программировании, но было очень интересно! что здесь является языком программирования: канвас или джаваскрипт?

  • @uzproger9525
    @uzproger9525 6 лет назад +1

    Сможешь сделать видео про grid layout

  • @neonneon2091
    @neonneon2091 4 года назад

    Очень круто!

  • @tartarus2921
    @tartarus2921 5 лет назад +1

    А кто Хаоди по национальности?

  • @user-bd3um1qu3b
    @user-bd3um1qu3b Год назад

    Пожалуйста скажите как сделать так чтобы твоём калькуляторе использовался один input и чтобы твоя программа невыводила то что ты написал умения работает только с двумя input

  • @SC-eg3dv
    @SC-eg3dv 5 лет назад

    На 18-й секунде эффектно

  • @sergienkoandrey3855
    @sergienkoandrey3855 4 года назад +1

    У меня трабл возник, знающие подскажите)
    По нажатию круг появляется левее места нажатия,в чём дело?

    • @batov7064
      @batov7064 4 года назад

      У меня было такое только в мобильной версии, там вообще с канвасом проблема, как я понимаю. Если у тебя в десктопе так, то хз

  • @user-ty6fq9os9k
    @user-ty6fq9os9k 3 года назад

    Как картинки загружать канвасом? Не одну, а несколько, для создания коллажа?

  • @zeus2421
    @zeus2421 3 года назад +1

    Всё классно. Но только не понятно как залить фигуру которая нарисована линиями. Типо как сделать border ты показал. А как сделать заливку нет

    • @zeus2421
      @zeus2421 3 года назад +1

      Хотя спасибо, подтолкнул .Самому разобраться.

  • @alsagir87
    @alsagir87 6 лет назад

    Спасибо!

  • @user-xh3bg1bg1o
    @user-xh3bg1bg1o 5 лет назад

    Интересно. По простому хочу сказать что пытаюсь сделать - хочу сделать холст, на который можно перетаскиванием размещать предметы. Как понимаю можно фото превратить в объекты и двигать их на холсте.
    А вот еще хочу спросить - как задать масштаб и сетку-линейку есть ли такие инструменты?

  • @itsollustrifugate6955
    @itsollustrifugate6955 5 лет назад +1

    В хроме не работает ctx.drawWindow

  • @user-jt7mh6tu1c
    @user-jt7mh6tu1c 2 года назад

    Почему используется манипуляция с fillRect() и белым цветом, вместо того, чтобы сделать clearRect(0,0,canv.width,canv.height)?

  • @user-el8pi1yp6q
    @user-el8pi1yp6q 3 года назад

    Спасибо за уроки Если сможете подскажите в коде ниже где косяк? Не выводит текст

    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ Привет​ ​ ​ ​
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​

    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ Not is work
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ var canv = document.getElementById("canvas");
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ var ctx = canv.getContext("2d");
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ canv.width = window.innerWidth;
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ canv.height = window.innerHeight;
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ //Code
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ grad = ctx.createLinearGradient(0,0,500,0);
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ grad.addColorStop('0','black');
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ grad.addColorStop('.50','blue');
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ grad.addColorStop('1','red');
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ctx.fillStyle = grad;
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ctx.textAlign = "center";
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ctx.font = "30px Georgia";
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ctx.fillText= ("Hellodsfsdfsdf", 50,​ 70);
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​

  • @soucandcreative9108
    @soucandcreative9108 5 лет назад

    Хауди делай больше видеуроков по языкам,но за час

  • @TailwindCSS
    @TailwindCSS 6 лет назад

    Спасибо )

  • @Afalinj
    @Afalinj 6 лет назад

    Продолжение !)

  • @Rostyslav-sg2il
    @Rostyslav-sg2il 4 года назад

    А будет видео по созданию диаграмм JS или SVG?

  • @user-zq1if3uv8i
    @user-zq1if3uv8i 6 лет назад

    Было бы шик делать текстовые версии на сайте. Читать как то удобнее

  • @Avonavi232
    @Avonavi232 6 лет назад

    Хауди, привет!
    Рисовалка на канве, это конечно хорошо.. но что, если дело касается взаимодействия с нарисованными элементами?) Как ловить на них события мыши? Есть библиотека Kanva кажется, там есть такой функционал, можно создавать layers и ловить на них события. А если без библиотеки?
    Если использовать svg, то это выходит проще.

    • @HowdyhoNet
      @HowdyhoNet  6 лет назад

      Простые расчеты от e.offsetX, как и в любых граф. приложениях.

  • @eblavoltom
    @eblavoltom 5 лет назад

    Хауди, почему забросил такие уроки??? обидно....

  • @user-gd5bw7ut3o
    @user-gd5bw7ut3o 6 лет назад

    Круто !

  • @ProFG-
    @ProFG- 6 лет назад +6

    А ты будешь учить и показывать с++

  • @PhotoshopArt8ua
    @PhotoshopArt8ua 6 лет назад +1

    a gde uroki po python kivy?((

  • @nerusnotfound
    @nerusnotfound 3 года назад

    Круто

  • @nan-simon
    @nan-simon 2 года назад

    Отличный урок! Но есть вопрос, который мучает меня, как это работает на 31:12 ? у меня с crd не работает, переписал так
    var e = {
    clientX: coords.shift(),
    clientY: coords.shift()
    };
    и все заработало.
    Не знаю может это какое-то глобальное обновление в JS 😕

  • @tobe459
    @tobe459 6 лет назад

    Хорошо учишь по делу! у меня есть вопрос:для мобильных сайтов критичны ru com net? или можно выбрать более бесплатные? q?m?

    • @HowdyhoNet
      @HowdyhoNet  6 лет назад +1

      Это вопрос больше по SEO.
      Насколько я знаю - доменная зона не влияет на продвижение, если это не домен второго уровня (co.uk) и если это не труднодоступная доменная зона (de,fr и тд).
      Но, могу в чём-то ошибаться.

  • @user-uw9is8gw2k
    @user-uw9is8gw2k 3 года назад

    вопросик, а зачем 27:00 вообще нужно функция clear, если при клике на KeyS можно написать => ctx.clearRect(0, 0, canv.width, canv.height), все так же работает у меня

  • @Sempai-ui9gd
    @Sempai-ui9gd 6 лет назад

    отличный канал, всё информативно, простыми словами, и какие-либо вопросы остаются достаточно редко.
    только 19.43 насчет градиента правильно ли я всё понял:
    в заливке "hello world" виден переход с magenta на blue, но никакого red. - это из-за того, что у нас в определении grad в функцию createLinearGradient третьим аргументом поступает 500? то есть, мы бы увидели красный цвет в тексте, если бы он был подлиннее (или если бы вместо 500 было число поменьше), верно ?

  • @komronpulatov6785
    @komronpulatov6785 5 лет назад

    А как задать неск цветов подскажите пж !задаю вроде получается а вот когда идет replay лини окрашиваются а вот круги черные !

  • @user-ij8gm2bd7i
    @user-ij8gm2bd7i 3 года назад

    ребят, помогите , пожалуйста. Когда вызываю несколько кругов, между ними образуется след. Например, если я вызвал три круга, между ними какого-то хера рисуется треугольник :(
    Везде искалЮ но не нашел ответ. Пж помогите

  • @toy_by_toy
    @toy_by_toy 6 лет назад

    19:46 не отрисовался красный в градиенте, потому что ширина 500?

  • @xxx4088
    @xxx4088 6 лет назад

    Привет автор, ответь пожалуйста, реально ли с помощью канваса рисовать картинку на компе и отправлять на сервер и она будет уникальной, то есть индентифицировать пользователя?

  • @user-dw1uu6cb9j
    @user-dw1uu6cb9j 6 лет назад

    Очень крутой и полезный видос. Спасибо!

  • @user-tw3mc8fd4r
    @user-tw3mc8fd4r 6 лет назад +1

    Как залить эту игру, допустим в вк?

  • @troll2941
    @troll2941 6 лет назад

    Здравствуйте, столкнулся с такой проблемой: при написании подобного кода выдает ошибку, мол не может выполнить getContext, т.к. canv = null. Но при написании строки $('document').ready(function(){
    //код
    });
    все отлично работает. Автор канала не использует эту команду, но у него все работает. Что не так с моим Chrome?

  • @powerrampage
    @powerrampage 2 года назад

    what is the SUBLIME COLOR SCHEME name ?

  • @mushnikov35
    @mushnikov35 5 лет назад

    Как сделать изображение на весь экран и поверх накладывать изображения с анимацией ??

  • @jamoliddinqodirov9866
    @jamoliddinqodirov9866 2 года назад

    ClearRect() тоже пойдет?