canvas学习1

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
#myCanvas {
	border:1px solid #000;
}
</style>
</head>
<body>
	<canvas id="myCanvas" height="500" width="500"></canvas>
</body>
<script type="text/javascript">
	
	var canvas = document.getElementById("myCanvas");
	var y = 250;
	var x = 150;
	var flag = "right";
	var ctx = canvas.getContext("2d");
	setInterval(function(){
		aa(ctx);
	},1);
	
	function aa(ctx){
		ctx.clearRect(0,0,500,500);
		ctx.fillStyle = "red"; 
		ctx.fillText("HelloCanvas!", 10, 35);  
		ctx.save();  
		ctx.fillStyle = "rgb(200,0,0)";
		
		ctx.fillRect(x,150,100,100);
		if (flag === "right") {
			x++;
			if (x >= 400) {
				flag = "left";
			} else {
				flag = "right";
			}
		} else {
			x--;
			if (x === 0) {
				flag = "right";
			} else {
				flag = "left";
			}
		}
		
		
		ctx.restore();  
		
	}
	
	/* ctx.strokeStyle = "rgb(0, 159, 93)"; 
	ctx.strokeRect(50,50,100,100);
	ctx.fillStyle = "red"; 
	ctx.fillText("HelloCanvas!", 10, 35);  
	ctx.beginPath();
   	ctx.moveTo(22,50);
   	ctx.lineTo(22,75);
    ctx.stroke();
    ctx.closePath();
    
    ctx.beginPath();
   	ctx.arc(275,375,50,0,Math.PI*2,true);
   	ctx.stroke();
   	ctx.closePath();
    ctx.beginPath();
   	ctx.moveTo(255,370);
   	ctx.arc(250,370,5,0,Math.PI*2,true);
   	ctx.fill();
   	ctx.strokeStyle = "red"; 
   	ctx.closePath();
   	ctx.moveTo(300,370);
   	ctx.arc(295,370,5,0,Math.PI*2,true);
   	ctx.moveTo(302,390);
   	ctx.arc(277,390,25,0,Math.PI,false);
    ctx.stroke();
	
    
    ctx.beginPath();
    ctx.moveTo(75,25); 
    ctx.quadraticCurveTo(25,25,25,62.5); 
    ctx.quadraticCurveTo(25,100,50,100); 
    ctx.quadraticCurveTo(50,120,30,125); 
    ctx.quadraticCurveTo(60,120,65,100); 
    ctx.quadraticCurveTo(125,100,125,62.5); 
    ctx.quadraticCurveTo(125,25,75,25); 
    ctx.stroke();
    ctx.closePath();
    ctx.beginPath();
    ctx.moveTo(50, 50);
    
    ctx.quadraticCurveTo(150, 250, 250, 250);
    ctx.stroke();
    ctx.closePath(); */
    
    
    
	/* window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame

	canvas = document.querySelector(‘canvas‘)
	ctx = canvas.getContext(‘2d‘)

	onresize = function(){
	  canvas.width = canvas.clientWidth
	  canvas.height = canvas.clientHeight
	}
	onresize()

	onmousemove = function(e){
	  rect = canvas.getBoundingClientRect();
	  gravityPoint = {
	    x: e.clientX - rect.left,
	    y: e.clientY - rect.top
	  }
	}

	gravityPoint = {x:canvas.width/2,y:canvas.height/2}
	gravityStrength = 10
	particles = []

	calculate = function(){
	  for(var i=0;i<particles.length;i++){
	    p = particles[i]
	    x = gravityPoint.x-p.x
	    y = gravityPoint.y-p.y
	    a = x*x+y*y
	    a = a = a>100?gravityStrength/a:gravityStrength/100
	    p.xv = (p.xv+a*x)*0.99
	    p.yv = (p.yv+a*y)*0.99
	    p.x += p.xv
	    p.y += p.yv
	    p.a *= 0.99
	  }
	}

	draw = function(){
	  ctx.clearRect(0,0,canvas.width,canvas.height)
	  for(var i=0;i<particles.length;i++){
	    p = particles[i]
	    ctx.globalAlpha = p.a
	    ctx.fillStyle = p.c
	    ctx.beginPath()
	    ctx.arc(p.x,p.y,p.s,0,2*Math.PI)
	    ctx.fill()
	  }
	}

	newParticle = function(){
	  type = (Math.random()*2|0)
	  particles.push({
	    x:gravityPoint.x-5+10*Math.random(),
	    y:gravityPoint.y-5+10*Math.random(),
	    xv:type?18*Math.random()-9:24*Math.random()-12,
	    yv:type?18*Math.random()-9:24*Math.random()-12,
	    c:type?‘rgb(255,‘+((200*Math.random())|0)+‘,‘+((80*Math.random())|0)+‘)‘:‘rgb(255,255,255)‘,
	    s:type?5+10*Math.random():1,
	    a:1
	  })
	  if(particles.length>700){particles.shift()}
	}

	setInterval(newParticle,5)

	loop = function(){
	  draw()
	  calculate()
	  requestAnimationFrame(loop)
	}
	requestAnimationFrame(loop) */
</script>
</html>

canvas学习1

上一篇:ORA-03106: fatal two-task communication protocol error


下一篇:windows下一些快捷键