html5动画基础(canvas,太阳)

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script>
window.onload = function(){
//获取canvas元素
	var canvas=document.getElementById('canvas');
//获取2d绘图环境
	var cxt=canvas.getContext('2d');
	
//声明一个时间参数(1:1天)
var time=0;

	function draw(){
	//清除画布(清除之前内容)
	cxt.clearRect(0,0,1000,1000);
	//画轨道(圆心坐标,半径,旋转角度,正向画还是逆向画)
		//设置笔触颜色
		cxt.strokeStyle="#fff";
		//开始画轨道
		cxt.beginPath();
		cxt.arc(500,500,100,0,360,false);
		cxt.closePath();
		//轨道
		cxt.stroke();
		
	//画太阳
		cxt.beginPath();
		cxt.arc(500,500,20,0,360,false);
		cxt.closePath();
		//填充(渐变)<圆心坐标内,半径内,圆心坐标外,半径外>径向
		var sunColor = cxt.createRadialGradient(500,500,0,500,500,20);
		sunColor.addColorStop(0,'#f00');
		sunColor.addColorStop(1,'#f90');
		cxt.fillStyle=sunColor;
		cxt.fill();
		
	//画地球
		cxt.save();
		//设置异次元空间的原点
		cxt.translate(500,500);
		//设置旋转角度
			//cxt.rotate(90*Math.PI/190);
			//地球公转一周需要365天,time=1天 一天转365/360度
		cxt.rotate(time*365/360*Math.PI/190);
		//画出地球
		cxt.beginPath();
		cxt.arc(0,-100,10,0,360,false);
		//设置地球颜色
		var earthColor = cxt.createRadialGradient(0,-100,0,0,-100,10);
		earthColor.addColorStop(0,'#78b1e8');
		earthColor.addColorStop(1,'#050c12');
		cxt.fillStyle=earthColor;
		cxt.fill();
		cxt.closePath();
		cxt.restore();
		//每画一次图像,时间参数加1
		time+=1;
	}
	
	//使地球动起来
	setInterval(draw,15);
};
</script>
<style></style>
</head>
<body>
	<canvas id="canvas" width="1000" height="1000" style="background:#000">您的浏览器不支持canvas元素</canvas>
</body>
</html>

运行结果:


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值