66 lines
1.3 KiB
HTML
66 lines
1.3 KiB
HTML
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||
|
<html xmlns="http://www.w3c.org/1999/xhtml">
|
||
|
<head>
|
||
|
<title>Random canvas circles</title>
|
||
|
<style type='text/css'>
|
||
|
* {
|
||
|
margin:0;
|
||
|
padding:0;
|
||
|
}
|
||
|
|
||
|
canvas {
|
||
|
position:absolute;
|
||
|
top:50%;
|
||
|
left:50%;
|
||
|
margin-top:-200px;
|
||
|
margin-left:-320px;
|
||
|
border:1px solid #000;
|
||
|
}
|
||
|
</style>
|
||
|
<script type='text/javascript'>
|
||
|
function ani() {
|
||
|
var ctx = document.getElementById('canvas').getContext('2d');
|
||
|
|
||
|
ctx.clearRect(0,0,640,400);
|
||
|
|
||
|
for (var i=0;i<num;i++) {
|
||
|
ctx.beginPath();
|
||
|
ctx.arc(a[i],b[i],c[i],0,Math.PI*2,true);
|
||
|
ctx.stroke();
|
||
|
nc=c[i]+Math.floor(Math.random()*3)-1
|
||
|
if (nc<25) nc=25
|
||
|
else if (nc>75) nc=75
|
||
|
c[i]=nc
|
||
|
nb=b[i]+Math.floor(Math.random()*3)-1
|
||
|
if (nb<c[i]) nb=c[i]
|
||
|
else if (nb>400-c[i]) nb=400-c[i]
|
||
|
b[i]=nb
|
||
|
na=a[i]+Math.floor(Math.random()*3)-1
|
||
|
if (na<c[i]) na=c[i]
|
||
|
else if (na>640-c[i]) na=640-c[i]
|
||
|
a[i]=na
|
||
|
}
|
||
|
|
||
|
setTimeout("ani()",40)
|
||
|
}
|
||
|
|
||
|
function load() {
|
||
|
a=new Array()
|
||
|
b=new Array()
|
||
|
c=new Array()
|
||
|
num=10
|
||
|
for (var i=0;i<num;i++) {
|
||
|
c[i]=Math.floor(Math.random()*50)+25
|
||
|
b[i]=Math.floor(Math.random()*(400-c[i]*2))+c[i]
|
||
|
a[i]=Math.floor(Math.random()*(640-c[i]*2))+c[i]
|
||
|
}
|
||
|
ani()
|
||
|
}
|
||
|
|
||
|
window.onload=load
|
||
|
</script>
|
||
|
</head>
|
||
|
<body>
|
||
|
<canvas id='canvas' width='640' height='400'></canvas>
|
||
|
</body>
|
||
|
</html>
|