iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >html5中怎么利用canvas实现跟随光标跳动火焰效果
  • 816
分享到

html5中怎么利用canvas实现跟随光标跳动火焰效果

2024-04-02 19:04:59 816人浏览 安东尼
摘要

这篇文章给大家介绍HTML5中怎么利用canvas实现跟随光标跳动火焰效果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。<!DOCTYPE html><head>

这篇文章给大家介绍HTML5中怎么利用canvas实现跟随光标跳动火焰效果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<!DOCTYPE html>
<head>
<meta charset=utf-8" />
<title>HTML5 Canvas火焰效果</title>
<style type="text/CSS">
body{margin: 0; padding: 0;}
#canvas-keleyi-com {display: block;}
</style>
</head>
<body>
<canvas id="canvas-keleyi-com"></canvas>
<script type="text/javascript">
window.onload = function(){
var keleyi_canvas = document.getElementById("canvas-kel"+"eyi-com");
var ctx = keleyi_canvas.getContext("2d");
var W = window.innerWidth, H = window.innerHeight;
keleyi_canvas.width = W;
keleyi_canvas.height = H;</p> <p>var particles = [];
var mouse = {};</p> <p>//Lets create some particles now
var particle_count = 100;
for(var i = 0; i < particle_count; i++)
{
particles.push(new particle());
}
keleyi_canvas.addEventListener('mousemove', track_mouse, false);</p> <p>function track_mouse(e)
{
mouse.x = e.pageX;
mouse.y = e.pageY;
}</p> <p>function particle()
{
this.speed = {x: -2.5+Math.random()*5, y: -15+Math.random()*10};
//location = mouse coordinates
//Now the flame follows the mouse coordinates
if(mouse.x && mouse.y)
{
this.location = {x: mouse.x, y: mouse.y};
}
else
{
this.location = {x: W/2, y: H/2};
}
//radius range = 10-30
this.radius = 10+Math.random()*20;
//life range = 20-30
this.life = 20+Math.random()*10;
this.remaining_life = this.life;
//colors
this.r = Math.round(Math.random()*255);
this.g = Math.round(Math.random()*255);
this.b = Math.round(Math.random()*255);
}</p> <p>function draw()
{
ctx.globalCompositeOperation = "source-over";
ctx.fillStyle = "black";
ctx.fillRect(0, 0, W, H);
ctx.globalCompositeOperation = "lighter";</p> <p>for(var i = 0; i < particles.length; i++)
{
var p = particles[i];
ctx.beginPath();
p.opacity = Math.round(p.remaining_life/p.life*100)/100
var gradient = ctx.createRadialGradient(p.location.x, p.location.y, 0, p.location.x, p.location.y, p.radius);
gradient.addColorStop(0, "rgba("+p.r+", "+p.g+", "+p.b+", "+p.opacity+")");
gradient.addColorStop(0.5, "rgba("+p.r+", "+p.g+", "+p.b+", "+p.opacity+")");
gradient.addColorStop(1, "rgba("+p.r+", "+p.g+", "+p.b+", 0)");
ctx.fillStyle = gradient;
ctx.arc(p.location.x, p.location.y, p.radius, Math.PI*2, false);
ctx.fill();</p> <p>
p.remaining_life--;
p.radius--;
p.location.x += p.speed.x;
p.location.y += p.speed.y;</p> <p>if(p.remaining_life < 0 || p.radius < 0)
{
particles[i] = new particle();
}
}
}</p> <p>setInterval(draw, 86);
}
</script>
</body>
</html>

关于html5中怎么利用canvas实现跟随光标跳动火焰效果就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: html5中怎么利用canvas实现跟随光标跳动火焰效果

本文链接: https://www.lsjlt.com/news/77479.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • html5中怎么利用canvas实现跟随光标跳动火焰效果
    这篇文章给大家介绍html5中怎么利用canvas实现跟随光标跳动火焰效果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。<!DOCTYPE HTML><head>...
    99+
    2022-10-19
  • HTML5 中怎么利用canvas标签实现刮刮卡效果
    本篇文章为大家展示了HTML5 中怎么利用canvas标签实现刮刮卡效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。HTML我们只需要在页面中加入canvas标签...
    99+
    2022-10-19
  • html5中怎么利用canvas实现阴影效果
    这篇文章将为大家详细讲解有关html5中怎么利用canvas实现阴影效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。代码如下:<!DOCTYPE h...
    99+
    2022-10-19
  • 怎么在html5中利用canvas实现一个背景鼠标连线动态效果
    本篇文章为大家展示了怎么在html5中利用canvas实现一个背景鼠标连线动态效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。<!doctype html><html&...
    99+
    2023-06-09
  • html5中怎么利用canvas实现一个刮刮卡效果
    这篇文章给大家介绍html5中怎么利用canvas实现一个刮刮卡效果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。代码如下:<!DOCTYPE html><...
    99+
    2022-10-19
  • html5中怎么利用canvas实现3d雪花飘舞效果
    html5中怎么利用canvas实现3d雪花飘舞效果,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。var SCREEN_WID...
    99+
    2022-10-19
  • Android应用中的标题滚动效果怎么利用Support Library 实现
    这篇文章给大家介绍Android应用中的标题滚动效果怎么利用Support Library 实现,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。布局文件代码在布局文件中,CoordinatorLayout作为布局文件根节...
    99+
    2023-05-31
    android support library
  • html5 中怎么利用touch事件实现页面上下滑动效果
    html5 中怎么利用touch事件实现页面上下滑动效果,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。html5 touch事...
    99+
    2022-10-19
  • 怎么在Android应用中利用CoordinatorLayout实现一个标题滚动效果
    本篇文章为大家展示了怎么在Android应用中利用CoordinatorLayout实现一个标题滚动效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在Material Design里,Coordi...
    99+
    2023-05-31
    coordinatorlayout android roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作