HTML5 Canvas CRASH COURSE for Beginners

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ก.ย. 2024

ความคิดเห็น • 1K

  • @Frankslaboratory
    @Frankslaboratory  3 ปีที่แล้ว +111

    This is my attempt to get you excited about JavaScript, is it working? Click the LIKE please :) Check out my playlists page for many more beginner friendly tutorials!

    • @unknown-bx8my
      @unknown-bx8my 3 ปีที่แล้ว

      I am always excited about vanilla js, canvas and you❤❤👍

    • @sanjays3879
      @sanjays3879 3 ปีที่แล้ว

      Hey Frank!
      I was working on a hobby project and I’ve been breaking my head trying to get this zoom through text on scroll effect which is demonstrated by the link below
      www.reformcollective.com
      If you scroll all the way to the bottom, the text “REFORM CO” zooms out revealing the underlying div
      How do I go about to achieve this zoom through text on scroll effect?
      You can also see this in a few of apple landing pages

    • @unknown-bx8my
      @unknown-bx8my 3 ปีที่แล้ว

      @@sanjays3879 i really want to help you but i dont understand your meaning😔.

    • @sanjays3879
      @sanjays3879 3 ปีที่แล้ว

      @@unknown-bx8my Hi! Thanks for replying 😁, it really means a lot
      Is there some way I can contact you? So that I can actually send you the images of what I require? Like I have a few screenshots that I would like to share which might help

    • @unknown-bx8my
      @unknown-bx8my 3 ปีที่แล้ว

      @@sanjays3879 i have a discord account. Thats my id @ABOUD#7925

  • @unrecited
    @unrecited 3 ปีที่แล้ว +45

    15 years - 15 years I've been trying to 'get it'... I know the materials, but something about your style man - you really just opened doors I've technically been trying to open for my entire web dev life. Maybe it all just came together watching your process here - because you didn't hit any bugs or anything - I'm very grateful for your videos just FYI - never stop!

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +9

      Hi, nice to meet you, that's very kind of you to say, thank you for giving me such a great feedback, Makes me want to create more content like this. Thank you for taking the time to message me and let me know ❤

  • @CoolScratcher
    @CoolScratcher 3 ปีที่แล้ว +52

    Your editing style is so satisfying, I'm not going to lie

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +6

      Hi CS, you always leave nice comments, thanks man! :)

  • @isunaslabs4733
    @isunaslabs4733 3 ปีที่แล้ว +99

    This is among the best if not “the bestest” canvas explained tutorials. Thank you so much

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว +5

      Really? Thank you, glad you found the course valuable

    • @lucademagistris1389
      @lucademagistris1389 2 ปีที่แล้ว

      @@Frankslaboratory Hello, how do I now put in my site does not fit with buttons and links because it does not make them click. Thank you

  • @codenester
    @codenester 3 ปีที่แล้ว +83

    Completely fall in love with this course. You are a great master in js canvas. Thanks a lot.

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +6

      Hi Rithea, thank you, very kind of you to say :) Thank you ❤😍

  • @nicklansbury3166
    @nicklansbury3166 3 ปีที่แล้ว +24

    Every time I tell myself that I _definitely_ am not going to do any JavaScript coding you come out with a video like this and I'm, like, OK I'll do it one more time. Dammit! And thank you!

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +2

      Hi Nick, it's been a while since we spoke. Hope you're well. Glad you find some of my projects interesting, my goal is to get people interested in coding, so I like your feedback a lot. Thank you :)

    • @niyagentleman8143
      @niyagentleman8143 2 ปีที่แล้ว +1

      hahaha ^^

  • @ssk7690
    @ssk7690 ปีที่แล้ว +4

    I had tried to watch one of your videos like 3 months ago, not knowing javascript at all. Couldn't understand much back then. Now I'm back to watch all your videos after doing basic js. You've explained it so well here. Thank you ♥.

  • @gregoryrovira7219
    @gregoryrovira7219 2 ปีที่แล้ว +2

    this is THE BEST video tutorial I've seen. It doesn't leave gaps of knowledge, it doesn't say "you'll understand this later" or "I'll explain later" or assumes you already know. It goes from a simple concept to a complex one, seamlessly and it walks you through the whole logic of how the computer is reading and executing the code

  • @dieterpan7393
    @dieterpan7393 ปีที่แล้ว +12

    This is probably one of the best tutorials I have ever seen! The way you explained things, the pace, everything was incredible!

  • @diegofergusson2109
    @diegofergusson2109 3 ปีที่แล้ว +7

    Broo your channel is amazing! Believe me, youtube doesn't have channels like this one, keep going, you make me happy I 'll learn a lot of you, thanks man

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว

      Hi Diego, thank you for such a nice comment, it makes me motivated to make more content. Happy I could help you a little on your coding journey :)

  • @simonfinkenstaedt5124
    @simonfinkenstaedt5124 3 ปีที่แล้ว +12

    I'ld love to recommend these tutorials to people who want to get into JS. The way you explain everything is wonderful, and doing graphic effects is sure to satisfy the instant gratification needed to get people hooked. There is just one step I think is missing. For a total beginner it would be great if you could explain how to set up the development environment. You mention VSC but for a beginner that's probably hard to notice and then you just "create your project", which is a big step if it's your first time.

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +5

      Hi Simon, thank you, my hope is that when people see cool animations like this it might motivate them to learn more than building some bland corporate spread sheet app :) Thank you for your feedback, you are right, I am still trying to figure out how to make these beginner tutorials, because I want everyone to be able to follow. At the same time if I spend 10 min explaining setup in every video it will be boring for some people and also for me, because I will have to do it over and over every time. I already explained for example drawImage() method very slowly in 10 different videos, not sure how to approach this yet, but I will figure it out :D I am new to TH-cam and coding tutorials so feedback like this helps me improve, thanks Simon

    • @MatteoAvalle
      @MatteoAvalle 2 ปีที่แล้ว +1

      @@Frankslaboratory my two cents: either create a single specific video on how to set up an environment, or just tell to write everything on jsfiddle :) Out of laziness I just followed your guide from there and it was super easy to get through every step ;) The only difference I found is that I had to press "play" after every change, but apart from this everything was immediate!

  • @cryptocoinkiwi8272
    @cryptocoinkiwi8272 ปีที่แล้ว +1

    I've watched a LOT of coding tutorials covering pretty much everything.
    This is the BEST tutorial I have even seen!

  • @magdasokolovic
    @magdasokolovic 3 ปีที่แล้ว +14

    exactly what I was planning to learn this weekend :) thanks!!

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +3

      Hi Magda, fun weekend with JavaScript, time well spent! :)

  • @roodveltmonfiston8345
    @roodveltmonfiston8345 ปีที่แล้ว +1

    i love you man! i did it, i have never been so proud of me like that, thanks a lot!!!!!

  • @2002budokan
    @2002budokan 3 ปีที่แล้ว +7

    Thank you Frank, I think I finally found a canvas course that is really enjoyable to watch and highlights the main points.

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +4

      Hi, this is my favourite feedback, thank you for taking the time to let me know :)

  • @richardkrone538
    @richardkrone538 2 ปีที่แล้ว +2

    Thank you for a wonderful 51 minute video. It only took me maybe 5 to 6 days of incremental viewings to really get a hang of what your teaching. Well done! Excellent verbal instruction on each segment. You were very easy to follow.
    One thing I noticed is that, while your video preview of the JS running is smooth and beautiful, on my older laptop it struggled a bit to animate smoothly especially while the console log was up.

  • @FanSkSturm
    @FanSkSturm 2 ปีที่แล้ว +8

    Thank you for this amazing course, just started with canvas and had a great time following your instructions!

  • @tottiii1
    @tottiii1 2 ปีที่แล้ว +4

    Yeeees 😍 I did it just like yours, it’s so beautiful. Thank you so much for making so creative stuff. I’m studying cyber now, but we have JavaScript too 👏 you are the best.

  • @OlehBiblyi
    @OlehBiblyi 3 ปีที่แล้ว +6

    This is so great, I wish I haven't need to sleep to watch this all.

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +2

      Sleep is more important. Coding can wait ahaha

  • @jaydevsr2536
    @jaydevsr2536 3 ปีที่แล้ว +1

    One like is not enough, really good tutorial. The end result was very satisfying.

  • @stinkybanana3825
    @stinkybanana3825 ปีที่แล้ว +3

    This was so helpful, thank you. I got assigned a canvas project (it was basically just learn a little bit of canvas and make something) and this was really helpful and well paced. I'm not a very good coder but I was able to do everything so thank you so much! :)

  • @riccardoromeo5346
    @riccardoromeo5346 2 ปีที่แล้ว

    man, i really felt that i had to leave this comment to let you know that i am really thankfull that you posted all this for free, love from italy

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว

      Hi Riccardo, nice to meet you. I'm here to help, greeting from London :)

  • @dabzbmg3197
    @dabzbmg3197 3 ปีที่แล้ว +4

    The messages in between segments are very motivating. This course is very well put together. Thank you for this free content.

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +1

      Really? Thank you that's very kind of you to say, I'm happy to receive such a nice feedback ❤

  • @maksimhristov3904
    @maksimhristov3904 3 ปีที่แล้ว +2

    OMG I've just found out this channel and It's amazing. I can't wait to watch all your videos and make these projects. You really deserve more subscribers.

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +1

      Hi Maksim, nice to meet you. Glad you found me :) Hope some of my videos can help you with your coding studies

  • @adedinugra4132
    @adedinugra4132 3 ปีที่แล้ว +7

    i hope that creative coding / generative art in the future will be a big thing

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +2

      Same here, if not we need to make it big, team effort :D

    • @FromTheHeart-777
      @FromTheHeart-777 3 ปีที่แล้ว

      @@Frankslaboratory I am hooked on this. Thanks so much. I'm new at coding and am in a bootcamp at the moment. I'm leaning towards the creative side of coding for my future occupation. This has been very valuable for my vision of coding. Thank you.

  • @marcinkalmar9964
    @marcinkalmar9964 2 ปีที่แล้ว

    I don't know what better can happening today for me than find content like it.

  • @DAVIDPC1976
    @DAVIDPC1976 3 ปีที่แล้ว +3

    I just found your channel and I can't be happier. You're a great teacher and your videos look really interesting!!! Thanks a lot. I'm sure I'll learn a lot!!!

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +1

      Hi Star Lord, good to have you here, thank you for letting me know your feedback, very happy to read this

  • @BlurryBit
    @BlurryBit 2 ปีที่แล้ว +2

    Trust me I was looking for a course like this for years. Thank you!!!

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว +3

      Glad you found me then, I'm releasing 2022 version soon :)

  • @janick4577
    @janick4577 3 ปีที่แล้ว +3

    So great tutorial again Frank ! Congratulations ! You are my favorite JS-> canvas you tuber.

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว

      Really? There are so many good ones, wow. Thanks Janick, very kind

  • @CristianAlexandruRadu
    @CristianAlexandruRadu 2 ปีที่แล้ว

    Hi bro Frank! I've done it

  • @devbites77
    @devbites77 3 ปีที่แล้ว +5

    A really impressive tutorial on canvas. It inspires me to dive deeper and create more. Many thanks!!

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +1

      Hi Rick. Thank you. Glad you feel inspired. Thank you for letting me know.

  • @SteveAmos
    @SteveAmos ปีที่แล้ว +1

    Solid tutorial. I have some experience using p5.js, and this crash course really opened my eyes to the possibilities of vanilla javascript. It's nice to see everything beneath the hood, and it seems like there's far more control and speed. I look forward to learning more from you. Keep up the great work.

    • @Frankslaboratory
      @Frankslaboratory  ปีที่แล้ว +2

      Hi Steve. From my personal experience it doesn't take that much extra code to do things in vanilla over p5.js, with the big advantage of vanilla is understanding the full logic and being able to modify any aspect of the code because of that

  • @waytocode
    @waytocode 3 ปีที่แล้ว +3

    This is so cool🔥Thanks brother I was looking towards this effect to put in my portfolio but I was stuck bcz I want to do this in plain js , there are alot of tutorials but they use thirt party library or something like that, then I just found this❤
    I appreciate ur work keep up the good work man!!👍🏻

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +2

      Thank you for letting me know you found some value, I have other effects in my head that use these constellations lines, coming soon :)

  • @nerofear12
    @nerofear12 2 ปีที่แล้ว

    You sir are one of a kind programer on TH-cam. Usually I get bored before the video ends. Not on this case!!!
    Thanks for sharing your knowledge with us... beginners.

  • @avi12
    @avi12 3 ปีที่แล้ว +5

    It's worth mentioning about requestAnimationFrame() that, as the name implies, it requests from the browser the signal to call the given function
    You could equally run animate() over and over with either setInterval() or recursively with setTimeout(), but these aren't recommended

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +5

      Thank you for sharing, this is a really good point. I should have explained this in more detail but now at least we have this comment from you for people who want to dig deeper. Great contribution

  • @johnadriandodge
    @johnadriandodge ปีที่แล้ว +1

    Shavua tov Mr. Jedi, we can take it in a thousand different directions is actually still being conservative.
    Each direction has an almost limitless amount of possibilities.
    I have not forgotten about you Jedi Frank, and thought it was time, I should supplement my learning with you again.
    I also just wanted to say howdy and thank you for everything you share.
    Night Mr. Frank

  • @vladislavamarkova8379
    @vladislavamarkova8379 2 ปีที่แล้ว +3

    Great course! : ) Thank you so much! Really good explanation and perfect start for diving in building animations with Canvas. So beautiful and nice effects you achieved and showed us!

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว +2

      Hi Vladislava, nice to meet you. Thank you for such a nice feedback, I hope projects like this inspire more people to try canvas

    • @vladislavamarkova8379
      @vladislavamarkova8379 2 ปีที่แล้ว +1

      All deserved! Indeed they do, inspiration comes when you see that even complex things are not unachievable, given step by step work and a proper, yet interesting explanation. : )

  • @marin.explore
    @marin.explore 2 ปีที่แล้ว

    I've been working with Javascript for 16 years and have never dug into canvas animations until recently. It hasn't been straightforward to learn, but your videos are massively helpful! Your content has opened up great creative possibilities. Really appreciate your work!

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว +1

      Hi Michael. Glad to hear such a nice feedback from an experienced developer like yourself. I hope more people start using canvas, it has a stable and well supported toolkit. So many things can be made with it.

    • @marin.explore
      @marin.explore 2 ปีที่แล้ว

      @@Frankslaboratory Absolutely, there's so much creative potential with the canvas. Thanks for the reply and thanks again for such great content. You really have nailed making the canvas approachable like no other tutorials have!

  • @sidekick3rida
    @sidekick3rida 2 ปีที่แล้ว +3

    in your nested loop (43:17), do `let j = i + 1`, no need to draw a line from the element to itself 😉

  • @joekagerer
    @joekagerer 2 ปีที่แล้ว

    Holy crap I've been writing JavaScript for 25 years or so I thought.... I found your channel today and this blew my mind. I've done some stuff with canvas like an OCR to read sudoku images but I had no concept of how powerful and fast it was... Thank you I love this.

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว +1

      Hi Joe, wow 25 years is a lot of experience. Glad to hear I managed to impress and experienced developer like you. You can probably do some amazing creative coding effects with your experience

    • @joekagerer
      @joekagerer 2 ปีที่แล้ว

      @@Frankslaboratory I have done some but nothing like you, thanks!

  • @patrickmccabe3915
    @patrickmccabe3915 2 ปีที่แล้ว +2

    These tutorials are amazing, I really shied away from canvas but after watching and coding along with a few of these I am now generating my own work! Also, if you're struggling to grok Object Oriented Programming these tutorials are perfect, even if you're not intending to do much with the animation. I can't recommend Frank's Laboratory enough, what a brilliant resource!

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว

      Hi Patrick, canvas can look scary but like everything, if we take it step by step and break it into individual techniques it becomes easier to learn I think. This video is a bit older so I don't really follow all Object oriented programming rules, i try to make better OOP codebases in my recent content. Glad you are making your original work as well, have fun with creative coding!

  • @icyvfireball
    @icyvfireball 3 ปีที่แล้ว +1

    Holy crap, I did it! This was awesome. I know the bare minimum of JavaScript, since I am a complete newbie. But I was able to follow along, and understand how this was working

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว +1

      Congratulations on completing the project, well done!

  • @ConorBailey
    @ConorBailey 3 ปีที่แล้ว +2

    Oh wow this is class. Amazing work Frank. Gonna dive into this this weekend. Love that particle effect

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว

      Hi Conor. Thank you. I am also watching your content btw

  • @gektorix
    @gektorix 2 ปีที่แล้ว +1

    This is my first attempt at working with canvas. Your explanations are great. I have minimal knowledge of the javaScript language and was able to repeat all the steps with the addition of my own code. Looking forward to other experiments. Good luck!

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว

      Hi. Thank you for letting me know that you found it easy to follow as a JS beginner. Good luck with your coding studies have fun 😊

  • @Justarandomguyonyoutube12345
    @Justarandomguyonyoutube12345 ปีที่แล้ว +2

    I wish I could like the video multiple times, thanks for your work buddy

  • @matthewsnyder1079
    @matthewsnyder1079 3 ปีที่แล้ว +2

    10 seconds in and can already tell this is gonna be great.

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +1

      Hi Matt. Sounds like my intro did the job ha. Thanks for letting me know

  • @imtanuki4106
    @imtanuki4106 3 ปีที่แล้ว +1

    Nice! Focused, complete and easy to understand. You've covered the main topic (canvas), but explained all the related concepts without bogging down the main theme. You packed a lot of useful info into less than an hour....

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +1

      Hi Tanuki, thank you so much, I really appreciate you took time to give me kind feedback like this. I have plans for couple more canvas master classes like this, because there are a lot more techniques I want to cover :)

  • @ctechjourney
    @ctechjourney ปีที่แล้ว

    hello Frank I'm a slow learner so I don't understand almost everything here but you're voice is so reassuring and encouraging. Thank you for your videos!

    • @Frankslaboratory
      @Frankslaboratory  ปีที่แล้ว

      Some of my content can be advanced, it does take some patience, but I hope the results are worth it, good luck with your coding studies :)

  • @CodeMagnon
    @CodeMagnon 11 หลายเดือนก่อน

    You are the best, i mean the way you explain every single line code of code is amazing want more tutorials like this.

  • @danielblack7779
    @danielblack7779 3 ปีที่แล้ว +1

    Hands down one of the best tutorials I have ever followed, you really know your stuff! Please make more!!

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +1

      Really? Thanks Dan, that's nice feedback to see

  • @elviraelvira5736
    @elviraelvira5736 2 ปีที่แล้ว +1

    Following your tutorials for a few days now and you make things very very easy cause of the so well formed explanations. True master! Thank you so much.

  • @afasico9669
    @afasico9669 10 หลายเดือนก่อน

    This was an amazing tutorial, by far the best I have seen on the matter of HTML canvas. I'm going to continue watching your videos for sure. I'm just not very sure where to continue, since the playlist are not clear to me.
    Also I'm not a beginner developer (but I am a beginner with canvas) and I'm back into javascript after many years, and I made it to the end and I understood everything.
    I'm going to spend now a bit of time making the code beautiful (according to my particular taste) - although your code is also way better than the code I see in other tutorials.
    Also big big thank you to keep it just vanilla javaScript.

    • @Frankslaboratory
      @Frankslaboratory  10 หลายเดือนก่อน +1

      Hi, thank you for letting me know you liked it. My channel has only vanilla JS in all videos. Playlists are mostly topic based, because each video is a standalone project. You can just jump to any project you want there is no particular order. Although if you are a beginner I would probably focus on videos where I specifically mention are beginner friendly. Some of the projects can be advanced for new devs. Have fun

  • @araujohs
    @araujohs 3 หลายเดือนก่อน

    Hi, Frank! I coded along the whole video. I also made a copy of the project and made some modifications (as you suggested at 31:30). It is addictive! Thank you so much for sharing your knowledge. I also bouth all your courses at Udemy. Regards from Brazil

  • @fbn7766
    @fbn7766 3 ปีที่แล้ว +2

    You did a great job! You really deserve much more recognition than this!!
    And thanks for the course....

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +1

      Aw, thank you, glad you found it helpful :)

  • @matijasekelj8610
    @matijasekelj8610 3 ปีที่แล้ว +2

    Can't wait to finish the Head first JavaScript book i'm going through and start learning Canvas through your videos. Didn't know you can do that stuff with JS. It looks absolutely amazing. Often i find my self reading the book but thinking about the awesome things you're doing with Canvas😂...... Can't wait.

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +1

      Hi Matija, great strategy, the book will give you enough basic knowledge and prepare you for project tutorials, looking forward to see some of your animations soon :)

  • @douglasbooyens2844
    @douglasbooyens2844 3 ปีที่แล้ว +1

    Your tutoring skills are unbelievable, clear, concise and engaging. Well done and thank you, please keep them coming.

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +1

      Really? thank you Doug, that's very kind of you to say, makes me happy to read a comment like this ❤

  • @ahmedabdulrazzaq2015
    @ahmedabdulrazzaq2015 2 ปีที่แล้ว

    Your channel motivated me. I was daying in my class doing some stupid projects.
    Thank you very much. I will like all your videos. You really deserve it.

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว +1

      Hi Ahmed. Thank you for letting me know. Happy to hear it helped you get some extra motivation for learning

  • @chibixio
    @chibixio 3 ปีที่แล้ว +1

    This is the best tutorial on earth. Thank you!

  • @jslee1036
    @jslee1036 3 ปีที่แล้ว

    I really love your this Canvas CRASH COURSE!!!. I just took an hour and finally could understand how to create particle system. Super thanks, Frank!!!!!

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +2

      Hi Lee, I'm happy see a comment like this, thank you for your feedback. I will do more beginner videos soon, it seems people like it :)

  • @DrownedLamp
    @DrownedLamp 5 หลายเดือนก่อน

    Very clear tutorial, worst part was tracking down my stray syntax.
    I made it and I'll be checking out your other stuff.

  • @MRAMetharam
    @MRAMetharam 2 ปีที่แล้ว

    I really enjoyed this. Worked on this after a stressful day and "poof" stress is gone! Excellent work and thanx for sharing!!!

  • @anisursamsung
    @anisursamsung 5 หลายเดือนก่อน

    Man. You are a magic in coding and teaching.

    • @Frankslaboratory
      @Frankslaboratory  5 หลายเดือนก่อน

      Hi Anish, very kind to say, thank you

  • @karthikeyanpalanisamy8299
    @karthikeyanpalanisamy8299 ปีที่แล้ว +1

    I did it. Thanks for this very beginner friendly canvas tutorial. Any one can watch it make it happen. Thank you so much.

  • @southwayaz
    @southwayaz ปีที่แล้ว +1

    I just watched this video and thought it was spectactular. It was mentioned that sometimes a line was randomly drawn from outside the canvas. It's not all that random. Just stop shrinking the circle and you will see a lot more of them. The problem is that within handleParticles(), the "for" loop must be broken into two separate loops. One for update() and one for draw(). When update() returns "failure", the loop must then remove the particle from the particlesArray[i]. This is before any lines are drawn, hence the separate loops. update() is modified to check if the new position (x,y) is outside the canvas boundary and return "failure" if it is.

    • @Frankslaboratory
      @Frankslaboratory  ปีที่แล้ว

      Hi Jim, thank you for this insight and offering a solution. You are right, there are also a few other alternative solutions for this, that I wasn't aware of back when I recorded this, but I use them in the more recent classes. I appreciate comments like this, thank you!

    • @Kaeresh
      @Kaeresh ปีที่แล้ว

      Heeey, someone found it! I was starting to doubt if anybody went looking for how long I was scrolling. I was starting to fear I had to do some debugging myself.
      Minor point I also saw: starting j at i and onwards to prevent drawing lines in both directions is pretty smart but i and j are still the same every particle so it tries to draw a line to itself.
      Also, if it helps, you can traverse arrays in reverse to pretty safely remove items and elements without ending up causing problems. That in combination with splitting the update and draw calls would've fixed this issue I'm sure.

  • @damirtenishev6874
    @damirtenishev6874 3 ปีที่แล้ว +1

    Gorgeous, instructive, concise and incredible simple! Thank you a lot for this kind of motivation.
    Some others write tons of code with huge frameworks and platforms to get the same effects.
    This is a brilliant one.

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +2

      In my coding job interviews I noticed employers care much more about vanilla JS skills rather than specific framework, assumption is that if you know vanilla JS well, learning any framework is easy, so that's the main reason I decided to make vanilla JS only TH-cam channel :D

  • @LLLearning1
    @LLLearning1 3 ปีที่แล้ว +1

    Thanks Frank, this is amazing. I now get the power of canvas and JS. There are a lot of concepts covered. Look forward to more content. I too have made programming videos and know the feeling of having a mistake in a really good video take. You recovered well.

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +2

      Thank you, I always mess something up while recording my code, but it's fine, it shows people that everyone makes mistakes and they can see how I do my debugging. I don't see any vids on your TH-cam so I assume you do it on some other platform

  • @rizekishimaro
    @rizekishimaro 2 ปีที่แล้ว

    franks tutorials are very easy to understand i like franks's channel it precious.all the videos are the type of i want.Thanks franks

  • @user-wq9oy7hx6z
    @user-wq9oy7hx6z 11 หลายเดือนก่อน

    Great lesson! The author explains everything clearly and accessible. Everything worked out. Frank, you are the best, love your tutorials on creating games!

  • @expertvinicius
    @expertvinicius ปีที่แล้ว

    I've been avoiding learning Canvas, but I decided to change it and I found your tutorials and you helped a lot! I think it was more difficult

  • @Darkstream06
    @Darkstream06 3 ปีที่แล้ว +1

    I'm absolutely speechless,you've done a great work teaching us these things man👍

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +1

      Hi Nelitha, thank you for such a nice feedback, thank you for letting me know

  • @matejcaithaml8316
    @matejcaithaml8316 2 ปีที่แล้ว

    I did it, this is the best free course I´ve ever found. Thanks!

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว

      Really? Thanks Matej, I'm making 2022 version with a different set of effects but also beginner focused basics to advanced in one video

  • @darly5448
    @darly5448 3 ปีที่แล้ว

    I did it! and it was also surprising when you mentioned that at the end we've progressed to much more than beginner level JavaScript

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว

      Daryl! Congratulations of completing the project that's awesome! Yeah we covered a lot in this video, I hope you had fun

  • @jeandelone
    @jeandelone 2 ปีที่แล้ว

    Most underrated webdev channel, incredibly helpful and well-made

  • @user-qv7oj9vv4i
    @user-qv7oj9vv4i ปีที่แล้ว

    Frank, kudos to you.
    This is exactly the right base I was looking for to build on. Well-structured and explained in great detail.
    I have enjoyed it very much. In my case, I'm using it to build a small animation constructor with an input interface to practice TypeScript.
    Thank you and good luck with your projects.

  • @RomanKnav
    @RomanKnav 2 ปีที่แล้ว

    I did it. I was surprised how something so complex looking isn't all that hard to code after all.

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว +1

      Hi Roman, congratulations on completing the project. It gets even easier with practice :)

  • @KushanShanuka
    @KushanShanuka 3 ปีที่แล้ว +2

    finally i found this. really interesting. now i can cook everything with canvas thanks

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +1

      Hi Kushan, canvas can do a lot of things, have many more interesting effects to share. Good luck with your coding :)

  • @awicca3079
    @awicca3079 8 หลายเดือนก่อน

    After such a nice "click like please" I logged into yt specifically to like this video. Amazing content, easy to absorb! Thank you for the good work, cheers!

  • @riotsquirrelz
    @riotsquirrelz 3 ปีที่แล้ว +1

    You are a fantastic teacher! This is my favorite coding channel by far. Thanks for sharing your knowledge 🙏

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +2

      Really? That's a really good feedback, thank you for letting me know you found some value in this video ❤

    • @riotsquirrelz
      @riotsquirrelz 3 ปีที่แล้ว

      @@Frankslaboratory I like that you show us how everything works in detail, then you show us best practices when you clean up the code. You're very detailed in your explanations and give us excellent visual aids, like showing us how a background moves or how the Pythagorean Theorem works.
      I also love your accent, but I'm American so it comes with the territory 😂

  • @erin2150
    @erin2150 3 ปีที่แล้ว +1

    Finished this tutorial, I'm quite the beginner, and although it was difficult to understand some of the code, I really appreciate your easy breakdowns. It may be just me, but may I recommend just slowing down the parts where you are copying or moving large sections of code around the editor? It was a bit hard to keep up with that, but otherwise this was a fun and beautiful exercise!

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +1

      Erin! First of all congratulations on finishing the tutorial. This was a big one and it got advanced by the end. Second of all thank you for your feedback on my teaching techniques. I'm still new to this and learning how to best explain code on video so comments like this are appreciated. I will try to do it slower next time

  • @rojokongen
    @rojokongen ปีที่แล้ว

    I've got to give it to you, Frank: the production and educational value of your videoes are really high. Well done! 👌

    • @Frankslaboratory
      @Frankslaboratory  ปีที่แล้ว +1

      Hi Flemming, thank you, I appreciate your kind feedback

  • @emilianopintos2018
    @emilianopintos2018 3 ปีที่แล้ว

    Man...my lack of math skills is huge, despite that this is a great tutorial, i will watch the others beginners tutorials and next the ones of videogames. Thanks for all your videos!

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว

      Hi Emiliano, nice to meet you. I have always been bad at math until I realised it can be used for animations, then suddenly it became more interesting for me haha. Good luck with your coding studies and thank you for letting me know your feedback, much appreciated.

  • @user-tg5wm7cm4u
    @user-tg5wm7cm4u 2 ปีที่แล้ว

    This is so awesome!! I just started to learn about canvas for my job at works, and didn't get a clue where to begin with... but this video really helps me to understand how canvas works.
    Of course there will be a lot of things to do until I can build a beautiful algorythm like this, so i'm going to follow your videos one by one.
    Plz keep uploading good videos!
    Thanks a lot!

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว

      Hi, glad you found this useful, canvas can be challenging, but taking it step by step really helps I think.

  • @osamabinbag815
    @osamabinbag815 3 ปีที่แล้ว

    Finished it, woo!! Had some issues but I solved them after scanning through the code over and over. Thank you very much for the tutorial :).

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว

      Congratulations Osama, it feels great to finish a project doesn't it. Looks like you also managed to practice some debugging, that's a useful skill every coder needs.

  • @user-cg6hk9of5w
    @user-cg6hk9of5w ปีที่แล้ว +1

    this is so good, thank you for making content like this!

  • @okosmik
    @okosmik ปีที่แล้ว

    When the lines connecting the circles were drawn 😍, very nice tutorial thank you.

  • @youtubeofficial2749
    @youtubeofficial2749 ปีที่แล้ว

    Did it!!
    Had a hard time debugging why my animation kept getting faster and smaller till they disappear.

  • @prasadmadushan
    @prasadmadushan ปีที่แล้ว

    I love how you explain things open console and show what u gona do with it. 5:34 point make very interesting about ur explanation style. hit like and and u have now new subscriber. keep doing good stuff. thanks man.

  • @jesuscastaneda7018
    @jesuscastaneda7018 ปีที่แล้ว

    Very proud, I can say that I concluded the exercise with a beautiful result, thank you teacher, I will continue with other videos, you are the best!!

  • @khattakian2
    @khattakian2 2 ปีที่แล้ว +1

    Such a good channel, all of your content is exactly what I was looking for. As a designer branching into creative coding, i had trepidation, until I found your channel 🙂 Keep it up man

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว +2

      Hi Fareed, nice to meet you. I think we need more creative coding tutorials on TH-cam, I hope my videos help people to get started. Design and creative coding are related fields, I hope your transition goes well

  • @loverphp5605
    @loverphp5605 ปีที่แล้ว +1

    amazing amazing video from professional developer thanks for sharing this nice video

  • @PixieSpright
    @PixieSpright 2 ปีที่แล้ว

    Your channel is a hidden gem, your style and delivery are supreme. What else is there to say.

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว

      Really? Very kind of you to say that, thank you, happy to see a comment like this

  • @paulomoreira5268
    @paulomoreira5268 ปีที่แล้ว

    Hi I am from Brazil and I am learning a lot with your videos, they are amazing !!! Congrats and thanks a lot.

  • @jahed1250
    @jahed1250 ปีที่แล้ว

    I learned so much about HTML canvas from one video. Thank you!

  • @MichelMendez-my7kw
    @MichelMendez-my7kw 10 หลายเดือนก่อน

    yes, i finished. i like the way your code is clean,precise, and proper syntax...

    • @Frankslaboratory
      @Frankslaboratory  10 หลายเดือนก่อน

      Happy to hear Michel. Congratulations on completing the project

  • @exotreus
    @exotreus 11 หลายเดือนก่อน

    Absolutely fucking incredible. I managed to remember everything you said. Love this tutorial dude, another subscriber earned after one video 💪💪

    • @Frankslaboratory
      @Frankslaboratory  11 หลายเดือนก่อน

      Nice to meet you, well done

  • @fishterdasy3901
    @fishterdasy3901 2 ปีที่แล้ว

    Tip: Add this line above "const ctx" to get autocomplete suggestions in VSCode:
    /** @type {CanvasRenderingContext2D} */
    const ctx = context.getContext('2d');
    Now when you type a dot after ctx, you'll get suggestions and info about all the functions and parameters available on the ctx object.
    Anyway, thanks for the awesome video!

    • @ntgamer55
      @ntgamer55 5 หลายเดือนก่อน

      thanks

  • @daulathussain
    @daulathussain 2 ปีที่แล้ว

    One of the best javaScripts tutorial, Thanks Franks laboratory

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว +1

      Hi Daulat, thank you for your kind feedback, I appreciate it

  • @davespeer
    @davespeer 2 ปีที่แล้ว +1

    I did the whole tutorial and it was pretty awesome! I never could get the lines to draw between the particles, even after pausing your video and checking my code line by line, character by character. Been coding professionally 25 years and overall 30+ so not a noob... but a suggestion: link the finished source to the video in the future. I know something is wrong in my code, but once you get into the distance calculation and the line drawing, you never show the whole code file and it's hard to say why I can't get lines (of any color or width) to show up.

    • @Frankslaboratory
      @Frankslaboratory  2 ปีที่แล้ว

      Hi Dave. You can show me your code on Twitter is you want I will find the problem

    • @andrewkneale9033
      @andrewkneale9033 2 ปีที่แล้ว

      I have the same problem. Can’t get the lines to draw .

    • @prostawoda
      @prostawoda ปีที่แล้ว

      @@andrewkneale9033
      if(distance < 100){
      ctx.beginPath();
      ctx.strokeStyle = particlesArray[i].color;
      ctx.lineWidth = particlesArray[i].size/30;
      ctx.moveTo(particlesArray[i].x, particlesArray[i].y);
      ctx.lineTo(particlesArray[j].x, particlesArray[j].y);
      ctx.stroke();
      ctx.closePath();
      }
      I had same same problem, check if your code abowe is same as this. it works for me.

  • @jvmeirelescosta
    @jvmeirelescosta 3 ปีที่แล้ว +1

    Thank you very much for the videos and the lessons. I downloaded the videos to be able to learn the techniques and reproduce them in my time and pace. Modestly, I suggest that you create a file template of HTML, CSS and JavaScript to be the starting base of the other programs. I suggest that you divide it, for beginners like me, into several sections: Variable Declaration, Variable Initiation, Subscription of Window and Canvas Events, Functions of these events, Classes, Object Creation and Update Functions and Animation Functions. It would be clearer and reusable. I am really learning a lot from your techniques and teachings. Thank you very much for everything, dear Frank.

    • @Frankslaboratory
      @Frankslaboratory  3 ปีที่แล้ว +2

      Hi Jose, nice to meet you, I really like what you are suggesting here, for me code structure is something I'm still experimenting with, I want to make it clean but also I use some 'spaghetti' code because it's easier to follow for complete beginners I think. I made a note of this suggestion and will try to implement it in my work. Thank you for taking the time to give me your feedback, good luck with your studies :)

  • @imadsaddik
    @imadsaddik ปีที่แล้ว

    Thank you man, I was happily watching the tutorial and amazed by the effects that you managed to create.