国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

情人節(jié)定制:HTML5 Canvas全屏七夕愛心表白特效

這篇具有很好參考價值的文章主要介紹了情人節(jié)定制:HTML5 Canvas全屏七夕愛心表白特效。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

情人節(jié)定制:HTML5 Canvas全屏七夕愛心表白特效,# ? 前端練手Demo,html5,七夕表白,canvas,前端,愛心代碼

?? 前言?

“這個世界亂糟糟的而你干干凈凈可以懸在我心上做太陽和月亮?!保呦?jié)表白日,你要錯過嗎?如果你言辭不善,羞于開口的話,可以使用 html5 canvas 制作浪漫的七夕愛心表白動畫特效,全屏的愛心和表白語,了解一下!?

?? 效果圖

情人節(jié)定制:HTML5 Canvas全屏七夕愛心表白特效,# ? 前端練手Demo,html5,七夕表白,canvas,前端,愛心代碼

?? 代碼實現(xiàn)

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>七夕520愛心表白</title>
	<style>
		*{margin:0; padding:0;}
		body{ background-color: #1E1E1E; 		}
	</style>
</head>
<body>

	<canvas id="drawHeart"></canvas>

	<script>
		var hearts = [];
		var canvas = document.getElementById('drawHeart');
		var wW = window.innerWidth;
		var wH = window.innerHeight;
		// 創(chuàng)建畫布
		var ctx = canvas.getContext('2d');
		// 創(chuàng)建圖片對象
		var heartImage = new Image();
		heartImage.src = 'img/heart.svg';
		var num = 100;

		init();

		window.addEventListener('resize', function(){
			 wW = window.innerWidth;
			 wH = window.innerHeight;
		});
		// 初始化畫布大小
		function init(){
			canvas.width = wW;
			canvas.height = wH;
			for(var i = 0; i < num; i++){
				hearts.push(new Heart(i%5));
			}
			requestAnimationFrame(render);
		}

		function getColor(){
			var val = Math.random() * 10;
			if(val > 0 && val <= 1){
				return '#00f';
			} else if(val > 1 && val <= 2){
				return '#f00';
			} else if(val > 2 && val <= 3){
				return '#0f0';
			} else if(val > 3 && val <= 4){
				return '#368';
			} else if(val > 4 && val <= 5){
				return '#666';
			} else if(val > 5 && val <= 6){
				return '#333';
			} else if(val > 6 && val <= 7){
				return '#f50';
			} else if(val > 7 && val <= 8){
				return '#e96d5b';
			} else if(val > 8 && val <= 9){
				return '#5be9e9';
			} else {
				return '#d41d50';
			}
		}

		function getText(){
			var val = Math.random() * 10;
			if(val > 1 && val <= 3){
				return '愛你一輩子';
			} else if(val > 3 && val <= 5){
				return '感謝你';
			} else if(val > 5 && val <= 8){
				return '喜歡你';
			} else{
				return 'I Love You';
			}
		}

		function Heart(type){
			this.type = type;
			// 初始化生成范圍
			this.x = Math.random() * wW;
			this.y = Math.random() * wH;

			this.opacity = Math.random() * .5 + .5;

			// 偏移量
			this.vel = {
				x: (Math.random() - .5) * 5,
				y: (Math.random() - .5) * 5
			}

			this.initialW = wW * .5;
			this.initialH = wH * .5;
			// 縮放比例
			this.targetScale = Math.random() * .15 + .02; // 最小0.02
			this.scale = Math.random() * this.targetScale;

			// 文字位置
			this.fx = Math.random() * wW;
			this.fy = Math.random() * wH;
			this.fs = Math.random() * 10;
			this.text = getText();

			this.fvel = {
				x: (Math.random() - .5) * 5,
				y: (Math.random() - .5) * 5,
				f: (Math.random() - .5) * 2
			}
		}

		Heart.prototype.draw = function(){
			ctx.save();
			ctx.globalAlpha = this.opacity;
			ctx.drawImage(heartImage, this.x, this.y, this.width, this.height);
			ctx.scale(this.scale + 1, this.scale + 1);
  			if(!this.type){
  				// 設置文字屬性
				ctx.fillStyle = getColor();
	  			ctx.font = 'italic ' + this.fs + 'px sans-serif';
	  			// 填充字符串
	  			ctx.fillText(this.text, this.fx, this.fy);
  			}
			ctx.restore();
		}
		Heart.prototype.update = function(){
			this.x += this.vel.x;
			this.y += this.vel.y;

			if(this.x - this.width > wW || this.x + this.width < 0){
				// 重新初始化位置
				this.scale = 0;
				this.x = Math.random() * wW;
				this.y = Math.random() * wH;
			}
			if(this.y - this.height > wH || this.y + this.height < 0){
				// 重新初始化位置
				this.scale = 0;
				this.x = Math.random() * wW;
				this.y = Math.random() * wH;
			}

			// 放大
			this.scale += (this.targetScale - this.scale) * .1;
			this.height = this.scale * this.initialH;
			this.width = this.height * 1.4;

			// -----文字-----
			this.fx += this.fvel.x;
			this.fy += this.fvel.y;
			this.fs += this.fvel.f;

			if(this.fs > 50){
				this.fs = 2;
			}

			if(this.fx - this.fs > wW || this.fx + this.fs < 0){
				// 重新初始化位置
				this.fx = Math.random() * wW;
				this.fy = Math.random() * wH;
			}
			if(this.fy - this.fs > wH || this.fy + this.fs < 0){
				// 重新初始化位置
				this.fx = Math.random() * wW;
				this.fy = Math.random() * wH;
			}
		}

		function render(){
			ctx.clearRect(0, 0, wW, wH);
			for(var i = 0; i < hearts.length; i++){
				hearts[i].draw();
				hearts[i].update();
			}
			requestAnimationFrame(render);
		}
	</script>
</body>
</html>

?? 最后,祝天下有情人終成眷屬 ??


情人節(jié)定制:HTML5 Canvas全屏七夕愛心表白特效,# ? 前端練手Demo,html5,七夕表白,canvas,前端,愛心代碼文章來源地址http://www.zghlxwxcb.cn/news/detail-665697.html

到了這里,關于情人節(jié)定制:HTML5 Canvas全屏七夕愛心表白特效的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 七夕情人節(jié)表白網(wǎng)頁制作【雪花愛心】

    七夕情人節(jié)表白網(wǎng)頁制作【雪花愛心】

    ??今日學習目標: ??告白代碼制作 ? 創(chuàng)作者 :林在閃閃發(fā)光 ?預計時間:10分鐘 ??個人主頁:林在閃閃發(fā)光的個人主頁 ???林在閃閃發(fā)光的個人社區(qū),歡迎你的加入:?林在閃閃發(fā)光的社區(qū) ? ?? 目錄 作品介紹 效果圖 代碼實現(xiàn) (部分代碼) html (告白部分) ?js (雪花部分

    2024年02月13日
    瀏覽(101)
  • 情人節(jié)專屬--HTML制作情人節(jié)告白愛心
  • 情人節(jié)特別定制:多種語言編寫動態(tài)愛心網(wǎng)頁(附完整代碼)

    情人節(jié)特別定制:多種語言編寫動態(tài)愛心網(wǎng)頁(附完整代碼)

    隨著七夕節(jié)的臨近,許多人都在尋找獨特而令人難忘的方式來表達愛意。在這個數(shù)字時代,結合創(chuàng)意和技術,我們可以使用多種開發(fā)語言來編寫一個動態(tài)的新型網(wǎng)頁,為這個浪漫的節(jié)日增添一份特別的禮物。在本文中,我們將帶你探索如何使用不同的開發(fā)語言來打造一個充滿

    2024年02月12日
    瀏覽(100)
  • 微信小程序碰到情人節(jié)-我們結婚吧---【小程序花園】

    微信小程序碰到情人節(jié)-我們結婚吧---【小程序花園】

    微信目錄集鏈接在此: 詳細解析黑馬微信小程序視頻–【思維導圖知識范圍】 難度★???? 微信小程序開發(fā)實戰(zhàn)(第2版)入門–【開發(fā)實戰(zhàn)(第2版)】 ★★??? 不會導入/打開小程序的看這里:參考 微信小程序開發(fā)實戰(zhàn)(第2版)入門–【開發(fā)實戰(zhàn)(第2版)】 用免費

    2024年02月11日
    瀏覽(94)
  • 情人節(jié)特別篇:用c++彈奏音樂“海闊天空”與“孤勇者”

    情人節(jié)特別篇:用c++彈奏音樂“海闊天空”與“孤勇者”

    W...Y的主頁??? 代碼庫分享??? 目錄 孤勇者 海闊天空 今天是2023年8月22日七夕情人節(jié),但是對我來說就是再普通不過的日子。我相信有很多人期待這一天的到來,和自己的對象出去享受快樂時光。但是我只有一個人獨孤的度過短暫的時光,我相信一定有兄弟與我處境相同。

    2024年02月11日
    瀏覽(93)
  • 今天是情人節(jié)吶,我利用Python制作了好多表白的東西,快來吧~

    今天是情人節(jié)那,有沒有現(xiàn)在沒有對象的寶子,評論里扣個111哈哈 目錄 玫瑰 愛心樹 丘比特 多彩氣球 阿玥的小課堂

    2024年02月21日
    瀏覽(103)
  • HTML5中Canvas學習筆記:Canvas

    HTML5中Canvas學習筆記:Canvas

    目錄 一、HTML中Canvas畫圖strokeStyle 和 fillStyle 的區(qū)別是什么? 二、如何設置一幅canvas圖中某個顏色透明? 三、H5 canvas中strokeRect參數(shù)如果是小數(shù),如何處理? 四、H5 Canvas中如何畫圓角矩形框? 五、js中取某個顏色的相反顏色如何取,比如黑色對白色 六、如何通過js編程設改變

    2024年02月14日
    瀏覽(28)
  • HTML5 Canvas(畫布)

    HTML5 Canvas(畫布)

    canvas標簽定義圖形,比如圖表和其他圖像,你必須用腳本來繪制圖形。 在畫布上( Canvas )畫一個共紅色矩形,漸變矩形,彩色矩形,和一些彩色文字。 HTML5canvas元素用于圖形繪制,通過腳本(通常是 Javascript)來完成。 canvas標簽是圖形容器,必須使用腳來繪制圖形。 你可以

    2024年02月14日
    瀏覽(31)
  • 【HTML5】 canvas 繪制圖形

    【HTML5】 canvas 繪制圖形

    canvas 標簽:可用于在網(wǎng)頁上繪制圖形(使用 JavaScript 在網(wǎng)頁上繪制圖像) 畫布是一個矩形區(qū)域,通過控制其每一像素繪制路徑、矩形、圓形、字符以及添加圖像。 創(chuàng)建一個 canvas :width 和 height 是必備屬性,id 是為了在 js 中獲取改元素。 在 js 中繪制 canvas 2.0、方法屬性 co

    2024年01月18日
    瀏覽(25)
  • html5學習筆記14-Canvas 圖形

    https://www.runoob.com/html/html5-canvas.html Canvas 參考手冊. https://www.runoob.com/tags/ref-canvas.html HTML5 元素用于圖形的繪制,通過腳本 (通常是JavaScript)來完成. 標簽只是圖形容器,您必須使用腳本來繪制圖形。 你可以通過多種方法使用 canvas 繪制路徑,盒、圓、字符以及添加圖像。 創(chuàng)建一

    2024年02月11日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包