cari
Rumahhujung hadapan webTutorial H5Tutorial menggunakan Kanvas dalam HTML5 digabungkan dengan formula untuk melukis kemahiran tutorial zarah motion_html5

Baru-baru ini, saya ingin membuat halaman web dan meletakkan beberapa DEMO yang saya buat semasa proses pembelajaran HTML5 untuk membuat koleksi Walau bagaimanapun, adalah terlalu hodoh untuk hanya membuat halaman web dan mengatur semua DEMO oleh seorang. Saya hanya berfikir, kerana saya telah belajar kanvas, mari bermain-main dengan penyemak imbas dan membuat animasi pembukaan kecil.

Setelah berfikir tentang kesan animasi pembukaan untuk seketika, saya memutuskan untuk menggunakan zarah kerana saya fikir zarah lebih menyeronokkan. Saya masih ingat bahawa catatan blog teknikal pertama yang saya tulis adalah mengenai pembahagian teks dan gambar: Membahagikan teks dan gambar Pada masa itu, saya hanya melakukan gerakan linear, dan menambah sedikit kesan 3D. Formula senaman adalah mudah. Jadi saya hanya mahu menjadikan animasi pembukaan ini lebih dinamik.

Pergi ke DEMO dahulu: http://2.axescanvas.sinaapp.com/demoHome/index.html

Adakah kesannya lebih dinamik daripada gerakan linear? Dan ia sangat mudah, jangan lupa tajuk catatan blog ini, sedikit formula, menyeronokkan. Untuk mencapai kesan sedemikian, apa yang kita perlukan ialah sekolah menengah rendah kita. . Atau pengetahuan fizik di sekolah menengah, formula gerakan dipercepat dan gerakan nyahpecutan. Jadi ia benar-benar formula penurunan kecil. Poster asal suka bermain-main dengan beberapa perkara yang menarik Walaupun dia mungkin tidak menggunakannya di tempat kerja, keseronokan itu benar-benar menarik. Selain itu, melakukan ini juga boleh mengukuhkan kemahiran berfikir pengaturcaraan anda.

Tanpa berlengah lagi, mari kita ke topik. Biar saya terangkan secara ringkas prinsipnya~~~

Kod teras pergerakan zarah hanyalah ini:

Kod XML/HTMLSalin kandungan ke papan keratan
  1. kemas kini:fungsi(masa){   
  2.             ini.x  = ini.vx*masa;   
  3.             this.y  = this.vy*time;   
  4.     
  5.             jika(!this.globleDown&&this.y>0){   
  6.                 var yc = ini.mainan - ini.y;   
  7.                 var xc = ini.toks - ini.x;   
  8.     
  9.                 ini.jl = Matematik.sqrt(xc*xc yc*yc);   
  10.     
  11.                 var za = 20;   
  12.     
  13.                 var ax = za*(xc/this.jl),   >
  14.                     ay = za*(yc/this.jl),                       
  15. vx = (ini.vx ax*masa)*0.97,                        
  16. vy = (this.vy ay*masa)*0.97;        
  17.                 
  18. ini.vx = vx;                    
  19. ini.vy = vy;        
  20.             }lain {   
  21.                 var 
  22. graviti = 9.8;                    var 
  23. vy = ini.vy gravity*masa;        
  24.                  jika(ini.y
  25. >kanvas.tinggi){                        
  26. vy = -vy*0.7;                    }
  27.  ini.vy = vy
  28.                                                                 
  29. },
Zarah mempunyai dua keadaan, satu jatuh bebas, dan satu lagi berada di bawah sedutan. Apatah lagi jatuh bebas. Sebelum bercakap tentang sedutan, mari siarkan sifat zarah:



Kod JavaScript
Salin kandungan ke papan keratan
  1. var Titik = fungsi(x,y,vx,vy,tox,mainan,warna){
  2.  
  3. ini.x=x; 
  4. ini.y=y;
  5.  
  6. ini.vx=vx; 
  7.  
  8. ini.vy=vy; 
  9. ini.nextox = tox;
  10. ini
  11. .nextoy = mainan;  ini
  12. .warna = warna;
  13. ini.kelihatan =
  14. benar
  15. ini.globleDown =
  16. salah
  17. ini.setEnd(toks, mainan);
  18. }
  19. setTamat:
  20. fungsi
  21. (toks, mainan){
  22.                                                                            
  23.                                                                                                                                                                                                                                                                                                                                                   .y
  24.                                                                                                                                                                                                
  25. },
  26. x dan y ialah kedudukan zarah, vx ialah halaju mendatar zarah, dan vy ialah halaju menegak zarah Tidak kira sama ada anda tahu nexttox atau seumpamanya, ia hanyalah pembolehubah sementara . tox, dan mainan ialah lokasi destinasi zarah.

    Pertama, berikan semua zarah destinasi, yang akan dibincangkan di bawah. Maksudnya, anda mahu zarah mencapai tempat itu, dan kemudian menentukan pembolehubah za sebagai pecutan Jika anda ingin mengetahui nilai tertentu, anda akan mendapat parameter anggaran melalui lebih banyak ujian, dan rasanya lebih kurang sama. za ialah pecutan garis antara zarah dan destinasi Oleh itu, kita boleh mengira pecutan mendatar dan pecutan menegak zarah melalui kedudukan zarah dan kedudukan destinasi melalui fungsi trigonometri mudah ini

    Kod JavaScriptSalin kandungan ke papan keratan
    1. var ax = za*(xc/ini.jl),
    2. ay = za*(yc/ini.jl),
    Selepas mempunyai pecutan mendatar dan pecutan menegak, langkah seterusnya adalah lebih mudah Kira kenaikan kelajuan mendatar dan kelajuan menegak secara langsung, dengan itu menukar nilai kelajuan mendatar dan kelajuan menegak



    .

    Kod XML/HTMLSalin kandungan ke papan keratan
    1. vx = (ini.vx ax*masa)*0.97,
    2. vy = (this.vy ay*masa)*0.97;
    Sebab mengapa ia didarabkan dengan 0.97 adalah untuk mensimulasikan kehilangan tenaga supaya zarah akan perlahan. masa ialah perbezaan masa antara setiap bingkai
    Selepas mengira halaju, hanya kemas kini kedudukan zarah.



    Kod XML/HTML
    Salin kandungan ke papan keratan
      ini.x = ini.vx*masa
    1. this.y = this.vy*time;
    Oleh kerana arah sambungan antara zarah dan destinasi sentiasa berubah semasa penerbangan, pecutan mendatar dan pecutan menegak zarah mesti dikira semula setiap bingkai.
    Ini adalah prinsip pergerakan, bukankah ia sangat mudah?

    Sekarang setelah kita bercakap tentang prinsip gerakan, mari kita bincangkan tentang pelaksanaan khusus animasi di atas: pemulaan animasi, lukis perkataan atau gambar yang diingini pada kanvas luar skrin, dan kemudian dapatkan piksel off- kanvas skrin melalui kaedah getImageData . Kemudian gunakan gelung untuk mencari kawasan yang dilukis dalam kanvas luar skrin Oleh kerana nilai data dalam imageData ialah tatasusunan rgba, kami menilai bahawa nilai terakhir, iaitu, ketelusan adalah lebih besar daripada 128, bermakna kawasan itu telah. dilukis. Kemudian dapatkan nilai xy kawasan Untuk mengelakkan terlalu banyak objek zarah daripada menyebabkan lag halaman, kami mengehadkan bilangan zarah Apabila mengambil piksel, nilai x dan nilai y meningkat sebanyak 2 setiap kali, dengan itu mengurangkan bilangan zarah zarah.



    Kod XML/HTML
    Salin kandungan ke papan keratan
    1. this.osCanvas = dokumen.createElement("canvas");   
    2.         var osCtx = ini.osCanvas.getContext("2d");   
    3.     
    4.         ini.osCanvas.width = 1000;   
    5.         ini.osCanvas.height = 150;   
    6.     
    7.         osCtx.textAlign = "center";   
    8.         osCtx.textBaseline = "tengah";   
    9.         osCtx.font="70px 微软雅黑,黑体 bold"
    10.         
    11. osCtx.fillStyle = "#1D181F"  
    12.         osCtx.fillText("Selamat Datang", this.osCanvas.width/2 , this.osCanvas.height/2-40);   
    13.         osCtx.fillText("To wAxes' HOME", this.osCanvas.width/2 , this.osCanvas.height/2 40);   
    14.         var 
    15. bigImageData = osCtx.getImageData(0,0,this.osCanivas.widosth,thivas.widosth .tinggi);   
    16.     
    17.         
    18. titik = [];   
    19.     
    20.         untuk(var 
    21. x=0;xbigImageData.width;x =2){   
    22.              untuk(var 
    23. y=0;ybigImageData.height;y =2){   
    24.                 var 
    25. i = (y*bigImageData.width   x)*4;   
    26.                 jika(bigImageData.data[i 3]
    27. >128){   
    28.                     var 
    29. titik = baharu Titik(   >>
    30.                          Math.random()>0.5?Math.random()*20 10:Math.vas()*20 can 🎜>
    31.                         -Math.random()*canvas.height*2,   
    32.                          0,   
    33.                          0,   
    34.                          x (canvas.width/2-this.osCanvas.width/2),   
    35.                          y (canvas.height/2-this.osCanvas.height/2),   
    36.                          "rgba(" bigImageData.data[i] "," bigImageData.data[i 1] "," bigImageData.data[i 2] ",1)"   
    37.                     );   
    38.                     dot.setEnd(canvas.width/2,canvas.height/2)   
    39.                     titik.tolak(titik);   
    40.                 }   
    41.             }   
    42.         }   

    通过循环获取到粒子的位置xy值后,把位置赋给粒子,成为粒子的目的地。一值后,把位置赋给粒子,成为粒子的目的地。倶始后出文字图片粒子化的效果了。


Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Adakah H5 adalah singkat untuk HTML5? Meneroka butiranAdakah H5 adalah singkat untuk HTML5? Meneroka butiranApr 14, 2025 am 12:05 AM

H5 bukan sekadar singkatan HTML5, ia mewakili ekosistem teknologi pembangunan web moden yang lebih luas: 1. H5 termasuk HTML5, CSS3, JavaScript dan API dan Teknologi yang berkaitan; 2. Ia menyediakan pengalaman pengguna yang lebih kaya, interaktif dan lancar, dan boleh berjalan dengan lancar pada pelbagai peranti; 3. Menggunakan timbunan teknologi H5, anda boleh membuat laman web responsif dan fungsi interaktif yang kompleks.

H5 dan HTML5: Istilah yang biasa digunakan dalam pembangunan webH5 dan HTML5: Istilah yang biasa digunakan dalam pembangunan webApr 13, 2025 am 12:01 AM

H5 dan HTML5 merujuk kepada perkara yang sama, iaitu HTML5. HTML5 adalah versi kelima HTML, membawa ciri -ciri baru seperti tag semantik, sokongan multimedia, kanvas dan grafik, penyimpanan luar talian dan penyimpanan tempatan, meningkatkan ekspresi dan interaktiviti laman web.

Apa yang dirujuk oleh H5? Meneroka konteksApa yang dirujuk oleh H5? Meneroka konteksApr 12, 2025 am 12:03 AM

H5referstohtml5, apivotaltechnologyinwebdevelopment.1) html5introducesnewelementsandapisforrich, dynamicwebapplications.2) itsupp ortsmultimediawithoutplugins, enhancusexperienceaceacrossdevices.3) SemantikelementsImproveContentstructureandseo.4) H5'srespo

H5: Alat, Rangka Kerja, dan Amalan TerbaikH5: Alat, Rangka Kerja, dan Amalan TerbaikApr 11, 2025 am 12:11 AM

Alat dan kerangka yang perlu dikuasai dalam pembangunan H5 termasuk Vue.js, React dan Webpack. 1.vue.js sesuai untuk membina antara muka pengguna dan menyokong pembangunan komponen. 2. Leact mengoptimumkan rendering halaman melalui DOM maya, sesuai untuk aplikasi yang kompleks. 3.WebPack digunakan untuk pembungkusan modul dan mengoptimumkan beban sumber.

Warisan HTML5: Memahami H5 pada masa kiniWarisan HTML5: Memahami H5 pada masa kiniApr 10, 2025 am 09:28 AM

Html5hassignificlylylectransformedwebdevelopmentbyintroducingsemanticelements, enhancingmultimediasupport, andimprovingperformance.1) itmadewebebsitesmoreaccessibleandseo-friendlywithSemhyViVeShive, dan

Kod H5: Kebolehcapaian dan HTML SemantikKod H5: Kebolehcapaian dan HTML SemantikApr 09, 2025 am 12:05 AM

H5 meningkatkan kebolehaksesan laman web dan kesan SEO melalui unsur -unsur semantik dan atribut ARIA. 1. Gunakan, dan lain -lain untuk mengatur struktur kandungan dan meningkatkan SEO. 2. Atribut Aria seperti ARIA-Label meningkatkan kebolehcapaian, dan pengguna teknologi bantuan boleh menggunakan laman web dengan lancar.

Adakah H5 sama dengan HTML5?Adakah H5 sama dengan HTML5?Apr 08, 2025 am 12:16 AM

"H5" dan "HTML5" adalah sama dalam kebanyakan kes, tetapi mereka mungkin mempunyai makna yang berbeza dalam senario tertentu tertentu. 1. "HTML5" adalah standard yang ditentukan oleh W3C yang mengandungi tag dan API baru. 2. "H5" biasanya merupakan singkatan HTML5, tetapi dalam pembangunan mudah alih, ia boleh merujuk kepada rangka kerja berdasarkan HTML5. Memahami perbezaan ini membantu menggunakan istilah ini dengan tepat dalam projek anda.

Apakah fungsi H5?Apakah fungsi H5?Apr 07, 2025 am 12:10 AM

H5, atau HTML5, adalah versi kelima HTML. Ia menyediakan pemaju dengan set alat yang lebih kuat, menjadikannya lebih mudah untuk membuat aplikasi web yang kompleks. Fungsi teras H5 termasuk: 1) unsur -unsur yang membolehkan lukisan grafik dan animasi di laman web; 2) tag semantik seperti, dan lain -lain untuk menjadikan struktur laman web jelas dan kondusif untuk pengoptimuman SEO; 3) API baru seperti perkhidmatan berasaskan lokasi GeolocationPi; 4) Keserasian silang penyemak imbas perlu dipastikan melalui ujian keserasian dan perpustakaan polyfill.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual