Código de JavaScript - Botón con movimiento en canvas

Requerimientos

Navegadores web compatibles, o posteriores obligatorio
Google Chrome 4.0
Internet Explorer/Edge 9.0
Firefox 2.0
Safari 3.1
Opera 9.0

Si es de tu ayuda y quieres aprender mas visita:
https://www.youtube.com/channel/UCWSKQyNDhvBVrddHIhzx5Zg?view_as=subscriber

1.0

Actualizado el 25 de Junio del 2017 (Publicado el 27 de Abril del 2017)gráfica de visualizaciones de la versión: 1.0
1.994 visualizaciones desde el 27 de Abril del 2017
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
</head>
 
<body>
<canvas id="canvas" width="500" height="500">
	Tu Navegador no soporta Canvas.
</canvas>
<script>
var x = 200;
var y = 300;
var x2 = 80;
var y2 = 80;
var cont = 0;
	window.onload = function(){
 
		dibujar(200, 300, 80, 80);
		click();
	};
	function dibujar(x,y,x2,y2){
		canvas = document.getElementById("canvas");
		ctx = canvas.getContext("2d");
		ctx.fillStyle = "green";
		ctx.fillRect(x, y, x2, y2);
		ctx.fill();
 
 
}
	canvas = document.getElementById("canvas");
		ctx = canvas.getContext("2d");
	function click(){
//Añadimos un addEventListener al canvas, para reconocer el click
canvas.addEventListener("click",
 //Una vez se haya clickado se activará la siguiente función
 function(e){
  /** Las siguientes 2 líneas lo que hacen és saber en que 
  *   parte del canvas se ha clickado. Si ha clickado dentro
  * del cuadrado se activará mover().
  * La operación que utilizamos es restar la parte izquierda que sobra
  * des del canvas asta el explorador (cancas.offsetLeft)
  * con el click (e.clientY)
  */
  if(e.clientX-canvas.offsetLeft > 200
   && e.clientX-canvas.offsetLeft < 280){
   //Aqui lo mismo que en la anterior sólo que miramos alto y 
   //ancho del cuadrado
   if(e.clientY - canvas.offsetTop > 300
    && e.clientY - canvas.offsetTop < 380){
    //si ha clickado dentro del cuadro verde
    mover();
   }
  }
 }
 ,false);}
	function mover(){
 //vamos restando la coordenada Y hasta un límite de 150
 if(y>120){
  y--;
  //es la encargada de llamar cada 10 milesimas a la funcion mover()
  //y así crear el efecto de movimiento
  setTimeout(mover,10);
 }
  //tendremos que ir limpiando el canvas
  //para evitar que se cree una columna
  //por culpa de que los cuadrados se vayan solapando
  limpiar();
  //dibujamos el cuadrado otra vez con la coordenada Y modificada
  //la modificación la hemos creado más arriba
  dibujar(x,y,x2,y2);
}
	function limpiar(){
 ctx.fillStyle = "white";
 ctx.fillRect(0, 0, 500, 500);
}
 
	</script>
</body>
</html>



Comentarios sobre la versión: 1.0 (0)


No hay comentarios
 

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

1.5

Actualizado el 18 de Diciembre del 2017 (Publicado el 14 de Octubre del 2017)gráfica de visualizaciones de la versión: 1.5
4.256 visualizaciones desde el 14 de Octubre del 2017
http://lwp-l.com/s3962