Rumah >hujung hadapan web >tutorial css >Zarah.js: gerakan dan interaksi
Pergerakan zarah kawalan
tidak semua zarah dalam sistem zarah bergerak dalam arah rawak. Malah untuk pergerakan rawak, terdapat kuasa lain. Sebagai contoh, zarah boleh mempercepatkan apabila menghampiri satu sama lain, atau pulih selepas perlanggaran. Semua pilihan ini boleh dikawal oleh pelbagai parameter di bawah atribut. move
ke enable
. Halaju zarah boleh ditentukan menggunakan parameter false
. Untuk membuat setiap zarah bergerak pada kelajuan rawak, tetapkan speed
ke random
. Sebaliknya, untuk menjadikannya bergerak ke arah rawak, nyatakan true
sebagai direction
. none
Parameter menentukan sama ada zarah melantun atau muncul dari arah yang lain. Apabila ditetapkan ke out_mode
, zarah akan keluar dari kanvas; out
bounce
Nampaknya tidak wajar bahawa zarah melewati satu sama lain sementara kelajuan tetap tidak berubah. Untuk menukar halaju zarah pada setiap perlanggaran, tetapkan
. Menariknya, tetapan ini hanya sah apabila sifat bounce
atau true
diaktifkan. Setiap kali zarah bertembung, ia membalikkan arahnya, walaupun ia bukan perlanggaran. line_linked
attraction
Akhirnya, mari kita bincangkan daya tarikan. Apabila daya tarikan diaktifkan, zarah mengubah halaju apabila zarah -zarah lain wujud di dekatnya. Perubahan mungkin positif atau negatif, bergantung kepada nilai parameter lain. Daya tarikan setiap arah berkadar songsang dengan nilai -nilai parameter masing -masing
. Nilai lalai adalah tinggi supaya tarikan jelas diperhatikan. Sebaliknya, jika nilai -nilai ini ditetapkan terlalu rendah, zarah akan mendapat halaju yang sangat tinggi selepas tempoh masa. rotateX
rotateY
Kod JSON untuk gerakan zarah di atas adalah seperti berikut:
ingat bahawa apabila
"move": { "enable": true, "speed": 20, "random": true, "direction": "none", "bounce": true, "out_mode": "bounce", "attract": { "enable": true, "rotateX": 10, "rotateY": 10 } }ditetapkan ke
dan straight
ke true
pada masa yang sama, zarah tidak akan bergerak. direction
none
Bolehkah pengguna berinteraksi dengan zarah? Jawapannya adalah ya. Zarah.js boleh bertindak balas kepada tiga peristiwa: Apabila
Mod
Mod
Ringkasan
Artikel ini telah dikemas kini dan termasuk sumbangan Kingsley Ubah. Kingsley bersemangat untuk mencipta kandungan yang mendidik dan memberi inspirasi kepada pembaca. Hobinya termasuk membaca, bola sepak dan berbasikal. hover
, click
dan resize
. Dengan menetapkan nilai parameter detect_on
, peristiwa dalam kanvas atau tingkap itu sendiri dapat dikesan. Semua peristiwa ini akan dicetuskan apabila melayang, mengklik, atau mengubah saiz kanvas/tingkap. resize
ditetapkan ke true
, zarah menyesuaikan diri di ruang yang tinggal tanpa cacat. Apabila resize
ditetapkan kepada false
, zarah -zarah berubah bentuk untuk memenuhi sebarang perubahan dalam saiz kanvas. "move": {
"enable": true,
"speed": 20,
"random": true,
"direction": "none",
"bounce": true,
"out_mode": "bounce",
"attract": {
"enable": true,
"rotateX": 10,
"rotateY": 10
}
}
Parameter mode
Tentukan bagaimana pengguna berinteraksi dengan zarah. Perpustakaan mentakrifkan lima mod interaksi: grab
, bubble
, repulse
, push
, remove
, dan grab
"detect_on": "canvas",
"events": {
"onhover": {
"enable": true,
"mode": "repulse"
},
"onclick": {
"enable": true,
"mode": "push"
},
"resize": true
}
bubble
repulse
mengubah saiz dan kelegapan semua zarah dalam jarak tertentu, tempohnya terpulang kepada anda. Mod hover
menyimpan zarah dari kedudukan klik. Kedua -dua mod boleh ditambah kepada click
atau "grab": {
"distance": 800,
"line_linked": {
"opacity": 1
}
}
push
remove
menambah sejumlah zarah setiap kali klik tetikus. Zarah akan ditambah ke kedudukan yang diklik. Begitu juga, mod "bubble": {
"distance": 600,
"size": 60,
"duration": 0.1,
"opacity": 1
},
"repulse": {
"distance": 500,
"duration": 0.5
}
Atas ialah kandungan terperinci Zarah.js: gerakan dan interaksi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!