日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

html5 制作神器,HTML5/Canvas 简单的泡沫生成器

發布時間:2024/2/28 HTML 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html5 制作神器,HTML5/Canvas 简单的泡沫生成器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaScript

語言:

JaveScriptBabelCoffeeScript

確定

var canvas = document.getElementById('mainc');

var context = canvas.getContext('2d');

canvas.width = $(window).width();

canvas.height = $(window).height();

var started = false;

var bubbleCount = 0;

var bubs = [];

$(document).ready(function() {

bubbleCount = $('#range').val();

start();

});

var toggle = function() {

if (started == true) {

stop();

} else {

bubbleCount = $('#range').val();

start();

}

}

var stop = function() {

clearInterval(main);

clearCanvas();

bubs = [];

started = false;

}

var start = function() {

started = true;

createBubbles();

drawBubbles(bubs);

main = setInterval(function() {

clearCanvas();

moveBubbles();

drawBubbles();

}, 16);

}

var createBubbles = function() {

for (i = 0; i < bubbleCount; i++) {

var vary = codes();

bubs.push(new bubble(vary.centerX, vary.centerY, vary.radius, vary.vx, vary.vy));

}

}

var codes = function() {

var centerX = Math.floor((Math.random() * canvas.width) + 1);

if (centerX > canvas.width - 10) {

centerX = centerX - 10;

}

if (centerX < 10) {

centerX = centerX + 10;

}

var centerY = Math.floor((Math.random() * canvas.height) + 1);

var radius = Math.floor((Math.random() * 10) + 3);

var vx = Math.floor((Math.random() * 10) - 5);

var vy = -Math.floor((Math.random() * 100) + 1);

return {

centerX: centerX,

centerY: centerY,

radius: radius,

vx: vx,

vy: vy

};

}

function bubble(centerX, centerY, radius, vx, vy) {

this.centerX = centerX;

this.centerY = centerY;

this.radius = radius;

this.vx = vx;

this.vy = vy;

return this;

}

var drawBubbles = function() {

$.each(bubs, function(i, val) {

context.beginPath();

context.arc(val.centerX, val.centerY, val.radius, 0, 2 * Math.PI, false);

context.fill = '#6ECFF6'

context.lineWidth = 1;

context.shadowColor = '#555555';

context.shadowBlur = 4;

context.shadowOffsetX = 2;

context.shadowOffsetY = 2;

context.strokeStyle = '#7D7D7D';

context.stroke();

});

}

function clearCanvas() {

context.clearRect(0, 0, canvas.width, canvas.height);

}

var moveBubbles = function() {

$.each(bubs, function(i, val) {

val.centerY += (val.vy / 50);

if (val.centerY < 0) {

val.centerY = canvas.height + 15;

}

val.centerX += (val.vx / 50);

if (val.centerX - val.radius < 0) {

val.vx = -val.vx;

}

if (val.centerX + val.radius > canvas.width) {

val.vx = -val.vx;

}

});

}

var bubblechange = function(value) {

if (value > bubs.length) {

var vary = codes();

bubs.push(new bubble(vary.centerX, vary.centerY, vary.radius, vary.vx, vary.vy));

bubblechange(value);

}

if (value < bubs.length) {

bubs.pop();

bubblechange(value);

}

}

總結

以上是生活随笔為你收集整理的html5 制作神器,HTML5/Canvas 简单的泡沫生成器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。