当前位置: 首页 > wzjs >正文

wifi小程序怎么赚钱宁波seo关键词培训

wifi小程序怎么赚钱,宁波seo关键词培训,靠wordpress发财,怎么修改网站后台路径文章目录 动画基本步骤动画示例1. 时钟2. 循环全景照片3. 小球边界碰撞检测 动画基本步骤 清空 canvas :使用 clearRect绘制动画图形: 这一步才是重绘动画帧操控动画:定时执行重绘的方法,可以用 setInterval()、setTimeout() 和 requestAnim…

文章目录

    • 动画基本步骤
    • 动画示例
      • 1. 时钟
      • 2. 循环全景照片
      • 3. 小球边界碰撞检测

动画基本步骤

  1. 清空 canvas :使用 clearRect
  2. 绘制动画图形: 这一步才是重绘动画帧
  3. 操控动画:定时执行重绘的方法,可以用 setInterval()setTimeout() requestAnimationFrame()

示例:

function draw() {ctx.clearRect(0, 0, canvas.width, canvas.height);// 绘制动画内容requestAnimationFrame(draw);
}
draw();

动画示例

1. 时钟

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Canvas Animation</title><style>canvas {border: 1px solid black;}</style></head><body><canvas id="canvas" width="300" height="300">1</canvas><script>const canvas = document.getElementById("canvas");const ctx = canvas.getContext("2d");function draw() {ctx.save();ctx.clearRect(0, 0, 300, 300);ctx.translate(150, 150);ctx.rotate(-Math.PI / 2);ctx.strokeStyle = "blue";ctx.lineWidth = 8;ctx.beginPath();ctx.arc(0, 0, 100, 0, 2 * Math.PI);ctx.stroke();ctx.strokeStyle = "black";ctx.lineCap = "round";ctx.textAlign = "center";ctx.textBaseline = "middle";for (let i = 0; i < 60; i++) {ctx.beginPath();if (i % 5 === 0) {// 小时刻度ctx.lineWidth = 4;ctx.moveTo(90, 0);ctx.lineTo(75, 0);ctx.fillText(i / 5, 65, 0);} else {// 分钟刻度ctx.lineWidth = 2;ctx.moveTo(90, 0);ctx.lineTo(85, 0);}ctx.stroke();ctx.rotate(Math.PI / 30);}const time = new Date();const seconds = time.getSeconds();const minutes = time.getMinutes();const hours = time.getHours();// 时针ctx.save();ctx.rotate((Math.PI / 6) * hours + (Math.PI / 360) * minutes + (Math.PI / 21600) * seconds);ctx.beginPath();ctx.lineWidth = 8;ctx.moveTo(-10, 0);ctx.lineTo(60, 0);ctx.stroke();ctx.restore();// 分针ctx.save();ctx.rotate((Math.PI / 30) * minutes + (Math.PI / 1800) * seconds);ctx.beginPath();ctx.lineWidth = 4;ctx.moveTo(-15, 0);ctx.lineTo(80, 0);ctx.stroke();ctx.restore();// 秒针ctx.save();ctx.strokeStyle = "red";ctx.rotate((Math.PI / 30) * seconds);ctx.beginPath();ctx.moveTo(0, 0);ctx.lineTo(80, 0);ctx.stroke();ctx.restore();ctx.restore();requestAnimationFrame(draw);}draw();</script></body>
</html>

2. 循环全景照片

图片地址:测试图片

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Canvas Animation</title><style>canvas {border: 1px solid black;}</style></head><body><canvas id="canvas" width="800" height="200">1</canvas><script>const canvas = document.getElementById("canvas");const ctx = canvas.getContext("2d");const image = new Image();image.src = "./assets/park.jpg";var CanvasXSize = 800;var CanvasYSize = 200;var speed = 30;var dx = 0.75;var x = 0;var imgW;var imgH;var clearX;var clearY;image.onload = () => {imgW = image.width;imgH = image.height;if (imgW > CanvasXSize) {clearX = imgW;} else {clearX = CanvasXSize;}if (imgH > CanvasYSize) {clearY = imgH;} else {clearY = CanvasYSize;}setInterval(draw, speed);};function draw() {ctx.clearRect(0, 0, clearX, clearY);if (x > CanvasXSize) {x = CanvasXSize - imgW;}// draw aditional imageif (x > CanvasXSize - imgW) {ctx.drawImage(image, x - imgW + 1, 0, imgW, imgH);}ctx.drawImage(image, x, 0, imgW, imgH);x += dx;}</script></body>
</html>

3. 小球边界碰撞检测

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>鼠标追踪动画</title><style>canvas {border: 1px solid black;}</style></head><body><canvas id="canvas" width="600" height="400">1</canvas><script>const canvas = document.getElementById("canvas");const ctx = canvas.getContext("2d");var ball = {x: 100,y: 100,radius: 25,vx: 5,vy: 2,color: "blue",draw: function () {ctx.clearRect(0, 0, canvas.width, canvas.height);// 长尾效果效果(注释上面clearRect)// ctx.fillStyle = "rgba(255, 255, 255, 0.4)";// ctx.fillRect(0, 0, canvas.width, canvas.height);ctx.beginPath();ctx.arc(this.x, this.y, this.radius, 0, 2 * Math.PI);ctx.fillStyle = this.color;ctx.fill();},};function anim() {requestAnimationFrame(anim);ball.draw();ball.x += ball.vx;ball.y += ball.vy;ball.vy *= 0.99;ball.vy += 0.25;if (ball.x + ball.radius > canvas.width || ball.x - ball.radius < 0) {ball.vx = -ball.vx;}if (ball.y + ball.radius > canvas.height || ball.y - ball.radius < 0) {ball.vy = -ball.vy;}}anim();</script></body>
</html>
http://www.dtcms.com/wzjs/372615.html

相关文章:

  • web前端网站开发实训报告百度网址大全简单版
  • 福建省住房城乡建设部网站杭州seo专员
  • 网站制作长春站长工具一区
  • 网站安全管理机制建设百度搜索seo
  • 常用的网站建设程序有那些网络营销是以什么为中心
  • 手机网站制作服务机构网站推广代理
  • php成品网站超市产品市场推广计划书
  • 潍坊网站制作最低价格如何设置淘宝友情链接
  • 株洲网站建设 株洲网站制作重庆网站设计
  • 下载app 的网站 如何做百度推广找谁做靠谱
  • 蒙特网站建设自媒体发稿
  • 网页设计培训机构怎么选搜索引擎推广seo
  • 大连 网站制作 外贸百度seo优化系统
  • 网站美工费用照片查询百度图片搜索
  • 云互联的网站名字放心网站推广优化咨询
  • 网站建设编程怎么写百度手机助手网页版
  • 瑞安商业网站建设重庆网站关键词排名优化
  • 衡水做淘宝网站建设宁波网站建设公司
  • 深圳手机网站建设牛商网站长工具seo下载
  • 网站页脚内容徐州seo管理
  • 手机网站建设案例搜索引擎最佳化
  • 哈尔滨网络宣传与网站建设怎么做一个网站
  • 蚌埠哪里做网站关键词挖掘ppt
  • xampp wordpress 慢百度推广优化是什么意思
  • 建设银行网站首页网店运营
  • 网站集约化建设要求四川全网推网络推广
  • 伍佰亿网站推广河南关键词优化搜索
  • 做调查赚钱的网站又哪些网站主题
  • 网站建设技术服务方案如何购买域名
  • 景泰建设中国官方网站百度高搜