HTML5 Canvas发光Loading动画源码

源码介绍

之前我们分享过很多基于CSS3的Loading动画效果,相信大家都很喜欢。今天我们要来分享一款基于HTML5 Canvas的发光Loading加载动画特效。Loading旋转图标是在canvas画布上绘制的,整个loading动画是发光3D的视觉效果,HTML5非常强大。

效果预览

loading1.gif

源码下载

HTML5 Canvas发光Loading动画源码

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 HTML5 Canvas 吃豆豆小游戏的代码: ```html <!DOCTYPE html> <html> <head> <title>Pac-Man</title> <style> canvas { border: 1px solid black; } </style> </head> <body> <canvas id="canvas" width="400" height="400"></canvas> <script> // 获取 canvas 元素和上下文 var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); // 定义 Pac-Man 的属性 var pacMan = { x: 200, y: 200, radius: 20, mouthAngle: Math.PI / 6, direction: "right" }; // 绘制 Pac-Man function drawPacMan() { ctx.beginPath(); ctx.arc(pacMan.x, pacMan.y, pacMan.radius, pacMan.mouthAngle, 2 * Math.PI - pacMan.mouthAngle); ctx.lineTo(pacMan.x, pacMan.y); ctx.fillStyle = "yellow"; ctx.fill(); } // 更新 Pac-Man 的状态 function updatePacMan() { // 根据方向更新 Pac-Man 的位置 switch (pacMan.direction) { case "right": pacMan.x += 5; break; case "left": pacMan.x -= 5; break; case "up": pacMan.y -= 5; break; case "down": pacMan.y += 5; break; } // 计算 Pac-Man 的嘴巴角度 if (pacMan.mouthAngle <= 0 || pacMan.mouthAngle >= Math.PI / 3) { pacMan.mouthAngleDelta = -pacMan.mouthAngleDelta; } pacMan.mouthAngle += pacMan.mouthAngleDelta; // 检测 Pac-Man 是否碰到边界 if (pacMan.x - pacMan.radius < 0 || pacMan.x + pacMan.radius > canvas.width || pacMan.y - pacMan.radius < 0 || pacMan.y + pacMan.radius > canvas.height) { // 如果碰到边界,改变方向 switch (pacMan.direction) { case "right": pacMan.direction = "down"; break; case "left": pacMan.direction = "up"; break; case "up": pacMan.direction = "right"; break; case "down": pacMan.direction = "left"; break; } } } // 主循环 function mainLoop() { // 清除画布 ctx.clearRect(0, 0, canvas.width, canvas.height); // 绘制 Pac-Man drawPacMan(); // 更新 Pac-Man 的状态 updatePacMan(); // 循环调用主循环 requestAnimationFrame(mainLoop); } // 启动游戏 mainLoop(); </script> </body> </html> ``` 这个代码定义了一个 Pac-Man 对象,包括 Pac-Man 的位置、大小、嘴巴角度和方向。然后,它通过 Canvas API 绘制 Pac-Man,并在主循环中不断更新 Pac-Man 的状态。在更新 Pac-Man 的位置时,它还检测 Pac-Man 是否碰到边界,并根据需要改变 Pac-Man 的方向。最后,它通过 requestAnimationFrame() 函数循环调用主循环,从而实现动画效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值