
17/05/2012, 04:59
|
| | Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 17 años, 2 meses Puntos: 0 | |
Animación circulos Hola, estoy intentando hacer cículos que se muevan de un lugar a otro. He conseguido mover uno, pero no se como hacer para colocar varios círculos moviendose simultaneamente.
¿Alguna idea? Dejo el código de lo que he conseguido hasta el momento.
Saludos
Código:
<!DOCTYPE html>
<html>
<body>
<div style="position: absolute; top: 80px; left: 10px; z-index: 2;">
<canvas id="figuras" width="800" height="800"></canvas>
</div>
<div style="position: absolute; top: 80px; left: 10px; z-index: 1">
<canvas id="limpiar" width="800" height="800"></canvas>
</div>
<script type="text/javascript">
var canvas = document.getElementById("figuras");
var context = canvas.getContext("2d");
var rango_superior = 400;//Posición máxima en pixeles colocación dentro del canvas.
var rango_inferior = 44; //Posición minima en pixeles colocación dentro del canvas.
var radius = 40;//Radio de cada círculo.
var yinicial;
var xinicial;
var yfinal;
var xfinal;
var xactual;
var yactual;
yinicial="40";
xinicial="40";
yfinal="156";
xfinal="345";
xactual=xinicial;
yactual=yinicial;
temporizador=setInterval(mover,10);
function mover(){
si();
limpiar();
dibujar_linea();
circulo();
}
function limpiar(){
context.beginPath();
context.rect(0, 0, 1000,4400);
context.fillStyle = "#ffffff";
context.fill();
context.closePath();
}
function circulo(){
context.beginPath();
context.arc(xactual, yactual, radius, 0, 2 * Math.PI, false);
context.fillStyle ="#ccccff";
context.fill();
context.lineWidth = 5;
context.strokeStyle = "black";
//Posicion del círculo inicialmente.
context.beginPath();
context.arc(xinicial, yinicial, radius, 0, 2 * Math.PI, false);
context.fillStyle ="#ccccff";
context.fill();
context.lineWidth = 5;
context.strokeStyle = "black";
}
function dibujar_linea(){
context.beginPath();
context.moveTo(xactual,yactual);
context.lineTo(xinicial,yinicial);
context.lineWidth = 5;
context.strokeStyle = "#FF00ff";
context.stroke();
context.closePath();
}
function si(){
if(xactual>xfinal){
xactual--;
}
else if(xactual<xfinal){
xactual++;
}
if(yactual>yfinal){
yactual--;
}
else if(yactual<yfinal){
yactual++;
}
}
</script>
</body>
</html>
|