JavaScript - Ayuda con polígono(canvas)+colores!

 
Vista:
Imágen de perfil de Rommstroi

Ayuda con polígono(canvas)+colores!

Publicado por Rommstroi (2 intervenciones) el 21/07/2017 01:10:26
Hola, buenas, junto con saludarlos, tengo un tremendo problema o confusión más bien, resulta que necesito crear una figura o polígono que se mueve y debe ir cambiando tal como lo hice, sólo que debe terminar en un cuadrado e ir minimizando su tamaño, y termina en una línea y estoy confundido, para que pase de una línea, luego al rectángulo y a un cuadrado y desaparecer, empieza bien el polígono, luego pasa a rectángulo, luego no cambia a cuadrado. Además de eso, quiero que la figura o canvas, pueda cambiar de color usando la función click con al menos 5 colores, sólo logré que cambie a un color. Y también al utilizar dicha función (función click) se genere un texto con jquery que indique el alto y largo de la figura en movimiento.


Este es el código y ayuda por favor, estoy súper frustrado, porque he intentado horas y horas con diferentes ideas y nada, bueno, eso, saludos y desde ya gracias.

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
<!DOCTYPE html>
<html>
<head>
    <title>Lienzo aka canvas</title>
</head>
 
<body>
 
    <canvas id="micanvas" width="400" height="400"></canvas>
 
	  <p id="micanvas"></p>
 
      <script src="https://code.jquery.com/jquery-2.1.0.js"></script>
 
	<script>
 
   var canvas = document.getElementById("micanvas");
    var ctx = canvas.getContext("2d");
 
    var posicion = 0;
    var tamano = 0;
 
     setInterval(function () {
        ctx.clearRect(0, 0, 400, 400);
		ctx.fillRect(0, posicion, tamano, 400);
 
	    posicion++;
        tamano++;
 
        if (posicion > 400){
            posicion = 0;
            tamano = 0;
        }
    }, 30);
 
	canvas.onclick = function() {
      ctx.fillStyle = 'red', 'yellow', 'blue', 'green', 'purple' ;
 
	   };
 
		</script>
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 15
Ha aumentado su posición en 7 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ayuda con polígono(canvas)+colores!

Publicado por Cristian (5 intervenciones) el 21/07/2017 18:20:36
Hola Rommstroi:


para que el el dibujo en canvas cambie de color, podrías crear un array con los colores, y cuando haga click en el dibujo canvas puedes alojar en una variable un número al azar, y este número asociarlo con los indices del array así dará un color aleatorio cada vez que pinches el polígono.

1
2
3
4
5
6
7
8
9
10
11
12
13
var colores = [
		'red',
		'yellow',
		'blue',
		'green',
		'purple'
	];
canvas.onclick = function() {
	var numeroAzar = Math.floor(Math.random()*5)
 
	ctx.fillStyle =  colores[numeroAzar];
 
};


respecto al las formas que debe adoptar el polígono deberías tomar como referencia la posición de X, poniendo condicionales, si la posicion de x es mayor que m, (si el poligono pasa sierto punto) sumar o restar el alto o ancho correspondiente para que se forme la figura, luego puedes poner otro limite si x es mayor que L sumar o restar el alto o ancho correspondiente.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Rommstroi

Ayuda con polígono(canvas)+colores!

Publicado por Rommstroi (2 intervenciones) el 24/07/2017 02:21:21
Muchas gracias maestro! me salvaste, saludos y gracias nuevamente!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 15
Ha aumentado su posición en 7 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ayuda con polígono(canvas)+colores!

Publicado por Cristian (5 intervenciones) el 24/07/2017 05:54:30
De nada!!!!



Saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar