Rumah hujung hadapan web View.js Cara menggunakan Vue untuk melaksanakan kesan khas animasi bunga api

Cara menggunakan Vue untuk melaksanakan kesan khas animasi bunga api

Sep 19, 2023 pm 01:06 PM
vue animasi bunga api

Cara menggunakan Vue untuk melaksanakan kesan khas animasi bunga api

Cara menggunakan Vue untuk melaksanakan kesan khas animasi bunga api

Bunga api ialah fenomena semula jadi yang indah dan kesan khas yang biasa dalam banyak perayaan dan perayaan. Dalam pembangunan web, kami juga boleh melaksanakan kesan animasi bunga api dengan menggunakan rangka kerja Vue. Artikel ini akan memperkenalkan cara untuk mencapai kesan ini melalui contoh kod tertentu.

Sebelum kita mula, kita perlu menyediakan persekitaran pembangunan Vue. Mula-mula, pastikan anda memasang Node.js dan Vue CLI. Kemudian, buat projek Vue baharu:

vue create firework-animation

Seterusnya, masukkan direktori projek dan mulakan pelayan pembangunan:

cd firework-animation
npm run serve

Sekarang kita boleh mula menulis kod untuk melaksanakan kesan khas animasi bunga api.

Mula-mula, buat fail komponen bernama Firework.vue dalam direktori src. Dalam komponen ini, kami akan menentukan gaya dan animasi bunga api.

<template>
  <div class="firework" :style="{ top: posY + 'px', left: posX + 'px' }">
    <div class="dot" v-for="(particle, index) in particles" :key="index" :style="{ backgroundColor: particle.color, top: particle.y + 'px', left: particle.x + 'px' }"></div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      particles: [],
      posX: 0,
      posY: 0,
    };
  },
  methods: {
    explode() {
      for (let i = 0; i < 50; i++) {
        const particle = {
          x: 0,
          y: 0,
          color: getRandomColor(),
          speedX: getRandomFloat(-5, 5),
          speedY: getRandomFloat(-5, 5),
          gravity: 0.1,
          alpha: 1,
        };
        this.particles.push(particle);
      }
      this.animate();
    },
    animate() {
      const animation = requestAnimationFrame(this.animate);
      const canvas = this.$el.getBoundingClientRect().toJSON();

      this.particles.forEach((particle, index) => {
        particle.x += particle.speedX;
        particle.y += particle.speedY;

        particle.speedY += particle.gravity;

        if (particle.alpha > 0.1) {
          particle.alpha -= 0.01;
        } else {
          this.particles.splice(index, 1);
        }

        if (
          particle.x < canvas.left ||
          particle.x > canvas.right ||
          particle.y < canvas.top ||
          particle.y > canvas.bottom
        ) {
          this.particles.splice(index, 1);
        }
      });

      if (this.particles.length === 0) {
        cancelAnimationFrame(animation);
      }
    },
  },
  mounted() {
    this.posX = this.$el.offsetWidth / 2;
    this.posY = this.$el.offsetHeight / 2;

    setInterval(() => {
      this.explode();
    }, 1000);
  },
};

function getRandomColor() {
  const letters = '0123456789ABCDEF';
  let color = '#';
  for (let i = 0; i < 6; i++) {
    color += letters[Math.floor(Math.random() * 16)];
  }
  return color;
}

function getRandomFloat(min, max) {
  return Math.random() * (max - min) + min;
}
</script>

<style scoped>
.firework {
  position: relative;
  width: 300px;
  height: 300px;
  background-color: black;
  margin: 100px auto;
}

.dot {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
</style>

Dalam komponen ini, kami mentakrifkan kelas bunga api untuk memaparkan bunga api, dan menghantar kedudukan bunga api kepada elemen div dalam templat melalui pengikatan data. Setiap kali antara muka diklik, kami memanggil kaedah letupan untuk mencetuskan animasi letupan bunga api. Dalam kaedah letupan, kami menjana 50 zarah secara rawak dan menetapkan kedudukan rawak, warna dan kelajuan untuknya. Kemudian, kami menggunakan requestAnimationFrame untuk melaksanakan kesan animasi, mengemas kini kedudukan zarah setiap bingkai dan menentukan sama ada zarah melebihi julat skrin atau sama ada ketelusan kurang daripada 0.1, padamkan zarah daripada tatasusunan.

Akhir sekali, kami menambah sedikit penggayaan pada komponen untuk menentukan penampilan dan penempatan bunga api. Harap maklum bahawa kami menggunakan pengubah suai berskop untuk mengehadkan skop gaya untuk mengelakkan konflik dengan komponen lain atau gaya global.

Akhir sekali, gunakan komponen ini dalam App.vue:

<template>
  <div id="app">
    <Firework></Firework>
  </div>
</template>

<script>
import Firework from './components/Firework.vue';

export default {
  name: 'App',
  components: {
    Firework,
  },
};
</script>

<style>
#app {
  text-align: center;
}
</style>

Sekarang, jalankan arahan npm run serve, buka penyemak imbas dan lawati http://localhost:8080, anda akan melihat kawasan dengan titik putih pada latar belakang hitam , Apabila anda mengklik pada antara muka, kesan animasi bunga api akan dicetuskan.

Kesan animasi bunga api yang dilaksanakan dalam artikel ini dilaksanakan melalui rangka kerja Vue Anda boleh mengikuti kod sampel untuk membuat penyesuaian dan penambahbaikan yang berkaitan untuk memenuhi keperluan anda. Saya harap artikel ini akan membantu anda mempelajari Vue dan melaksanakan kesan khas animasi bunga api!

Atas ialah kandungan terperinci Cara menggunakan Vue untuk melaksanakan kesan khas animasi bunga api. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Skop pembolehubah PHP dijelaskan
1 bulan yang lalu By 百草
Mengulas kod dalam php
4 minggu yang lalu By 百草
Petua untuk menulis komen php
4 minggu yang lalu By 百草

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1510
276
Bagaimana untuk membina perpustakaan komponen dengan Vue? Bagaimana untuk membina perpustakaan komponen dengan Vue? Jul 10, 2025 pm 12:14 PM

Membina perpustakaan komponen VUE memerlukan merancang struktur di sekitar senario perniagaan dan mengikuti proses pembangunan, ujian dan pelepasan yang lengkap. 1. Reka bentuk struktur harus diklasifikasikan mengikut modul berfungsi, termasuk komponen asas, komponen susun atur dan komponen perniagaan; 2. Gunakan pembolehubah SCSS atau CSS untuk menyatukan tema dan gaya; 3. Menyatukan spesifikasi penamaan dan memperkenalkan eslint dan lebih cantik untuk memastikan gaya kod yang konsisten; 4. Paparkan penggunaan komponen di tapak dokumen sokongan; 5. Gunakan Vite dan alat lain untuk pakej sebagai pakej NPM dan konfigurasikan rollupOptions; 6. Ikuti spesifikasi Semver untuk menguruskan versi dan changelogs semasa penerbitan.

Cara Menggunakan PHP untuk membangunkan Platform Komuniti Q & A Penjelasan terperinci mengenai model pengewangan komuniti interaktif PHP Cara Menggunakan PHP untuk membangunkan Platform Komuniti Q & A Penjelasan terperinci mengenai model pengewangan komuniti interaktif PHP Jul 23, 2025 pm 07:21 PM

1. 2. Prestasi tinggi memerlukan pergantungan pada cache (redis), pengoptimuman pangkalan data, CDN dan giliran tak segerak; 3. Keselamatan mesti dilakukan dengan penapisan input, perlindungan CSRF, HTTPS, penyulitan kata laluan dan kawalan kebenaran; 4. Pengiklanan pilihan wang, langganan ahli, ganjaran, komisen, pembayaran pengetahuan dan model lain, terasnya adalah untuk memadankan nada komuniti dan keperluan pengguna.

Cara Membangunkan Sistem Borang Pintar AI Dengan Reka Bentuk dan Analisis Pistol PHP PHP Cara Membangunkan Sistem Borang Pintar AI Dengan Reka Bentuk dan Analisis Pistol PHP PHP Jul 25, 2025 pm 05:54 PM

Apabila memilih rangka kerja PHP yang sesuai, anda perlu mempertimbangkan secara komprehensif mengikut keperluan projek: Laravel sesuai untuk pembangunan pesat dan menyediakan enjin template eloquentorm dan bilah, yang mudah untuk operasi pangkalan data dan rendering bentuk dinamik; Symfony lebih fleksibel dan sesuai untuk sistem kompleks; Codeigniter adalah ringan dan sesuai untuk aplikasi mudah dengan keperluan prestasi tinggi. 2. Untuk memastikan ketepatan model AI, kita perlu memulakan dengan latihan data berkualiti tinggi, pemilihan penunjuk penilaian yang munasabah (seperti ketepatan, penarikan balik, nilai F1), penilaian prestasi biasa dan penalaan model, dan memastikan kualiti kod melalui ujian unit dan ujian integrasi, sambil terus memantau data input untuk mencegah data drift. 3. Banyak langkah diperlukan untuk melindungi privasi pengguna: menyulitkan dan menyimpan data sensitif (seperti AES

Pintu masuk percuma ke laman web sumber produk Vue selesai. Produk siap Vue lengkap dilihat secara kekal dalam talian Pintu masuk percuma ke laman web sumber produk Vue selesai. Produk siap Vue lengkap dilihat secara kekal dalam talian Jul 23, 2025 pm 12:39 PM

Artikel ini telah memilih satu siri laman web sumber produk siap peringkat tinggi untuk pemaju dan pelajar Vue. Melalui platform ini, anda boleh menyemak imbas, belajar, dan juga menggunakan semula projek lengkap Vue berkualiti tinggi secara dalam talian secara percuma, dengan itu dengan cepat meningkatkan kemahiran pembangunan dan keupayaan amalan projek anda.

Bagaimana Membina Permohonan Vue untuk Pengeluaran? Bagaimana Membina Permohonan Vue untuk Pengeluaran? Jul 09, 2025 am 01:42 AM

Menggunakan aplikasi VUE ke persekitaran pengeluaran memerlukan pengoptimuman prestasi, memastikan kestabilan dan meningkatkan kelajuan pemuatan. 1. Gunakan Vuecli atau Vite untuk membina versi pengeluaran, menghasilkan direktori Dist dan menetapkan pembolehubah persekitaran yang betul; 2. Jika anda menggunakan mod sejarah Vuerouter, anda perlu mengkonfigurasi pelayan untuk jatuh ke index.html; 3. Menyebarkan direktori Dist ke nginx/apache, netlify/vercel atau menggabungkan pecutan CDN; 4. Dayakan strategi pemampatan dan penyemak imbas GZIP untuk mengoptimumkan pemuatan; 5. Melaksanakan komponen pemuatan malas, memperkenalkan perpustakaan UI atas permintaan, membolehkan HTTPS, mencegah serangan XSS, menambah tajuk CSP, dan menyekat nama domain SDK pihak ketiga untuk meningkatkan keselamatan.

Cara Menggunakan PHP Untuk Melaksanakan Sistem Cadangan Kandungan AI PHP Mekanisme Pengedaran Kandungan Pintar Cara Menggunakan PHP Untuk Melaksanakan Sistem Cadangan Kandungan AI PHP Mekanisme Pengedaran Kandungan Pintar Jul 23, 2025 pm 06:12 PM

1. PHP terutamanya menjalankan pengumpulan data, komunikasi API, pemprosesan peraturan perniagaan, pengoptimuman cache dan paparan cadangan dalam sistem cadangan kandungan AI, dan bukan secara langsung melaksanakan latihan model kompleks; 2. Sistem ini mengumpul tingkah laku pengguna dan data kandungan melalui PHP, memanggil perkhidmatan AI back-end (seperti model Python) untuk mendapatkan hasil cadangan, dan menggunakan Redis Cache untuk meningkatkan prestasi; 3. Algoritma cadangan asas seperti penapisan kolaboratif atau persamaan kandungan boleh melaksanakan logik ringan dalam PHP, tetapi pengkomputeran besar-besaran masih bergantung kepada perkhidmatan AI profesional; 4. Pengoptimuman perlu memberi perhatian kepada masa nyata, permulaan sejuk, kepelbagaian dan maklum balas yang ditutup gelung, dan cabaran termasuk prestasi konkurensi tinggi, kestabilan kemas kini model, pematuhan data dan tafsiran cadangan. PHP perlu bekerjasama untuk membina maklumat yang stabil, pangkalan data dan front-end.

Bagaimana untuk mengikat pelbagai animasi bersama? Bagaimana untuk mengikat pelbagai animasi bersama? Jul 05, 2025 am 01:59 AM

Untuk membuat pelbagai animasi bermain dalam urutan, anda boleh menetapkan kelewatan melalui animasi-kelewatan CSS untuk mencapai penyambungan mudah; Gunakan JavaScript untuk mendengar acara atau setTimeout untuk kawalan dinamik; atau gunakan fungsi garis masa perpustakaan animasi seperti GSAP untuk mengatur animasi dalam urutan. 1. Kaedah CSS menyedari main balik berurutan dengan menambahkan nilai kelewatan yang sama dengan tempoh animasi sebelumnya ke animasi berikutnya, yang sesuai untuk adegan mudah; 2. Kaedah JS mencetuskan animasi seterusnya dengan mendengar acara AnimationEnD atau menggunakan SetTimeout, yang fleksibel dan dikawal tetapi memerlukan keserasian; 3. Perpustakaan animasi seperti GSAP menyediakan fungsi garis masa, yang dapat menguruskan urutan animasi yang kompleks dan selang sokongan dan kesan bertindih; Perhatikan pengiraan kelewatan

PHP Membuat Sistem Pengurusan Pelanggan Pengewangan Reka Bentuk dan Aplikasi Sistem PHPCRM PHP Membuat Sistem Pengurusan Pelanggan Pengewangan Reka Bentuk dan Aplikasi Sistem PHPCRM Jul 25, 2025 pm 06:03 PM

Merancang sistem PHPCRM yang kedua-dua praktikal dan boleh dimonetisasi, pertama sekali, kita mesti membuat MVP yang merangkumi fungsi teras seperti pengurusan pelanggan, penjejakan jualan, dan proses automasi, dan mengguna pakai seni bina modular (seperti Laravel) untuk menyokong pengembangan fungsi tambah nilai berikutnya; 2. Kurangkan ambang penggunaan melalui reka bentuk UX intuitif (seperti front-end vue.js), supaya pengguna sanggup membayar secara berterusan; 3. Gunakan laporan analisis data (seperti corong jualan, analisis prestasi) untuk membantu pelanggan meningkatkan kecekapan membuat keputusan, dan fungsi asas percuma dan laporan lanjutan untuk mencapai pengewangan; 4. Melaksanakan seni bina multi-penyewa untuk memastikan pengasingan data, meletakkan asas bagi model SaaS, dan mengelakkan pembinaan semula kemudian yang mempengaruhi pengkomersialan; 5. Pengewangan bukan sahaja bergantung kepada yuran langganan, tetapi juga manfaat melalui keterbukaan API, pembangunan tersuai, sokongan teknikal dan pasaran pelbagai pasaran

See all articles