行星旋转案例canvas-konva.js未封装前的代码

静止状态下:

整体代码:

 

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
	<title>webitcast案例</title>
	<style>
		body {
			padding: 0;
			margin: 0;
			background-color: #f0f0f0;
			overflow: hidden;
		}
	</style>
	<script src="bower_components/konva/konva.min.js"></script>
</head>
<body>
	<div id="container">
	</div>

	<script type="text/javascript">
		var stage=new Konva.Stage({//创建舞台
			container:'container',
			width:window.innerWidth,
			height:window.innerHeight
		});
		var bgLayer=new Konva.Layer();
		stage.add(bgLayer);
		//开始创建圆形
		//中心点坐标
		var centX=stage.width()/2;
		var centY=stage.height()/2;
		//圆形的半径
		var innerRadius=126;
		var outerRadius=220;
		//虚线圆环
		var innerCircle=new Konva.Circle({
			x:centX,
			y:centY,
			radius:innerRadius,
			stroke:'#ccc',
			strokeWidth:4,
			dash: [10,4],//虚线
		});
		var outerCircle=new Konva.Circle({
			x:centX,
			y:centY,
			radius:outerRadius,
			stroke:'#ccc',
			strokeWidth:4,
			dash: [10,4],
		});
		//中心蓝色的圆圈
		var centerCircle=new Konva.Circle({
			x:centX,
			y:centY,
			radius:70,
			fill:'#525A82',
			opacity:.8
		});
		//中心圆形的圆环
		var centerRing=new Konva.Ring({
			x: centX,
			y: centY,
			innerRadius: 70,//内环的半径
			outerRadius: 88,//外环的半径
			fill: '#E1E1E1',
			opacity: .6
		})
		//添加中心圆形的字体
		var centerText=new Konva.Text({
			x:centX-140/2,
			y:centY-9,
			width:130,
			align:'center',
			text:'web全栈',
			fontSize:18,
			fontFamily: '微软雅黑',
			fill: '#fff',
			fontStyle:'bold'
		});
		
		// 开始画动画层
		//第一层圆形,黄色的
		// 坐标设置
		var x1=centX+innerRadius*Math.cos(-60*Math.PI/180);
		var y1=centY+innerRadius*Math.sin(-60*Math.PI/180);
		var orangeCircle1=new Konva.Circle({
			x:x1,
			y:y1,
			radius:30,
			fill:'orange',
			opacity:.7
		});
		//黄色圆的圆环
		var orangeRing1=new Konva.Ring({
			x:x1,
			y:y1,
			innerRadius:30,
			outerRadius:38,
			fill: '#E1E1E1',
			opacity: .6
		});
		console.log(x1)
		console.log(y1)
		var orangeText=new Konva.Text({
			x:x1-30,
			y:y1-8,
			width:60,
			// align:'center',
			text:'HTML5',
			fontSize:16,
			fontFamily: '微软雅黑',
			fill: '#fff',
			fontStyle:'bold'
		});
		//第一层圆形,Pink色的
		var x2=centX+innerRadius*Math.cos(180*Math.PI/180);
		var y2=centY+innerRadius*Math.sin(180*Math.PI/180);
		var pinkCircle1=new Konva.Circle({
			x:x2,
			y:y2,
			radius:30,
			fill:'pink',
			opacity:.7
		});
		var pinkRing1=new Konva.Ring({
			x:x2,
			y:y2,
			innerRadius:30,
			outerRadius:38,
			fill: '#E1E1E1',
			opacity: .6
		});
		var pinkText=new Konva.Text({
			x:x2-30,
			y:y2-8,
			width:60,
			align:'center',
			text:'CSS3',
			fontSize:16,
			fontFamily: '微软雅黑',
			fill: '#fff',
			fontStyle:'bold'
		});

		第2层圆形,blue色的
		var x3=centX+outerRadius*Math.cos(45*Math.PI/180);
		var y3=centY+outerRadius*Math.sin(45*Math.PI/180);
		var blueCircle2=new Konva.Circle({
			x:x3,
			y:y3,
			radius:40,
			fill:'#A4C9F6',
			opacity:.7
		});
		var blueRing2=new Konva.Ring({
			x:x3,
			y:y3,
			innerRadius:40,
			outerRadius:50,
			fill: '#E1E1E1',
			opacity: .6
		});
		var blueText=new Konva.Text({
			x:x3-40,
			y:y3-8,
			width:80,
			align:'center',
			text:'JS',
			fontSize:16,
			fontFamily: '微软雅黑',
			fill: '#fff',
			fontStyle:'bold'
		});

		bgLayer.add(innerCircle);
		bgLayer.add(outerCircle);
		bgLayer.add(centerCircle);
		bgLayer.add(centerRing);
		bgLayer.add(centerText);
		bgLayer.add(orangeCircle1);
		bgLayer.add(orangeRing1);
		bgLayer.add(orangeText);
		bgLayer.add(pinkCircle1);
		bgLayer.add(pinkRing1);
		bgLayer.add(pinkText);
		bgLayer.add(blueCircle2);
		bgLayer.add(blueRing2);
		bgLayer.add(blueText);
		bgLayer.draw();
	</script>
</body>
</html>

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值