下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第jscanvas實(shí)現(xiàn)隨機(jī)粒子特效本文實(shí)例為大家分享了jscanvas隨機(jī)粒子特效的具體代碼,供大家參考,具體內(nèi)容如下
前言
canvas實(shí)現(xiàn)前端的特效美術(shù)
結(jié)果展示
代碼
html
!DOCTYPEhtml
htmllang="en"
head
metacharset="UTF-8"
metahttp-equiv="X-UA-Compatible"content="IE=edge"
metaname="viewport"content="width=device-width,initial-scale=1.0"
titleDocument/title
/head
body
scriptsrc="./main.js"/script
/body
/html
main.js
*粒子化類構(gòu)造
*類功能:
*1.初始化。創(chuàng)建畫(huà)布,規(guī)定粒子屬性等;
*2.創(chuàng)建圖像并且進(jìn)行繪制
*3.區(qū)域顏色定義
*4.粒子移動(dòng)和偏射角度
//生成粒子
letParticle=function(context,options){
letrandom=Math.random();
this.context=context;
//在畫(huà)布里的x坐標(biāo)
this.x=options.x;
//在畫(huà)布里的y坐標(biāo)
this.y=options.y;
//取隨機(jī)數(shù)的1/2,對(duì)角度進(jìn)行隨機(jī)放大
this.s=0.5+Math.random();
//this.s=1+Math.random();
//粒子運(yùn)動(dòng)的變化角度
this.a=0;
//寬度
this.w=window.innerWidth;
//高度
this.h=window.innerHeight;
//半徑
this.radius=options.radius||0.5+Math.random()*10;
//顏色
this.color=options.color||"#E5483F";
//console.log(this.color);
//指定3秒后調(diào)用;
//如果粒子的半徑大于0.5,加入新的粒子。
setTimeout(function(){
if(this.radius0.5){
particles.push(
newParticle(context,{
x:this.x,
y:this.y,
color:this.radius/21"#d6433b":"#FFFFFF",
radius:this.radius/2.2})
}.call(Particle),3000);
//渲染圖像
Ptotype.render=function(){
//從(0,0)開(kāi)始新的路徑;
this.context.beginPath();
//創(chuàng)建曲線弧
this.context.arc(this.x,this.y,this.radius,0,2*Math.PI);
//繪圖的線條寬度
this.context.lineWidth=2;
//顏色填充
this.context.fillStyle=this.color;
//填充當(dāng)前圖像的路徑
this.context.fill();
//返回初始點(diǎn),并且繪制線條到初始位置
this.context.closePath();
Ptotype.swapColor=function(){
//排除白色
if(this.color!="#FFFFFF"){
//判斷左右界面,并且賦顏色的值
if(this.xthis.w/2){
//左半邊
this.color="#36fcfa";
}else{
//右半邊
this.color="#E5483F";
Ptotype.move=function(){
//顏色定義
this.swapColor();
//橫坐標(biāo)按照cos角度進(jìn)行變換,并且對(duì)其進(jìn)行隨機(jī)數(shù)放大;
//偏射角度以便兩個(gè)半界分開(kāi)
this.x+=Math.cos(this.a)*this.s;
this.y+=Math.sin(this.a)*this.s;
//this.y+=Math.cos(this.a)*this.s;
//this.x+=Math.sin(this.a)*this.s;
//在變化后,對(duì)隨機(jī)角度進(jìn)行再重??;
this.a+=Math.random()*0.8-0.4;
//判斷全為0,粒子橫坐標(biāo)無(wú)移動(dòng);
if(this.x0||this.xthis.w-this.radius){
returnfalse;
//
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 3D定制攝影應(yīng)用發(fā)展-洞察與解讀
- 光電化學(xué)儲(chǔ)能器件-洞察與解讀
- 小麥智能灌溉系統(tǒng)-洞察與解讀
- 微交互設(shè)計(jì)優(yōu)化-洞察與解讀
- 智慧交通鏈化-洞察與解讀
- 初中生物遺傳學(xué)教學(xué)中實(shí)驗(yàn)設(shè)計(jì)與數(shù)據(jù)分析教學(xué)研究課題報(bào)告
- 數(shù)據(jù)脫敏技術(shù)研究-第1篇-洞察與解讀
- 品牌形象塑造模型-洞察與解讀
- 我國(guó)開(kāi)放式投資基金業(yè)績(jī)?cè)u(píng)價(jià)體系構(gòu)建與實(shí)證研究
- 我國(guó)開(kāi)發(fā)區(qū)土地集約利用評(píng)價(jià)方法:體系構(gòu)建與實(shí)證研究
- 2026中國(guó)電信四川公用信息產(chǎn)業(yè)有限責(zé)任公司社會(huì)成熟人才招聘?jìng)淇碱}庫(kù)及參考答案詳解1套
- 思政教師培訓(xùn)心得課件
- 2026國(guó)家國(guó)防科技工業(yè)局所屬事業(yè)單位第一批招聘62人備考題庫(kù)及參考答案詳解
- 大型船舶拆除方案范本
- LoRa技術(shù)教學(xué)課件
- 2025中央廣播電視總臺(tái)招聘144人筆試歷年題庫(kù)附答案解析
- 急性高原疾病課件
- 牧業(yè)公司生產(chǎn)安全預(yù)案
- 腦機(jī)接口科普
- 2025年湖北煙草專賣局招聘考試真題及答案
- 教育資源分享平臺(tái)管理框架模板
評(píng)論
0/150
提交評(píng)論