Hola, estoy con la actividad de diseñar con el mouse. creo que no tengo incorporado como corresponde las bases porque no me sale para nada y me esta costando mucho... Lo seguí según el ejemplo del profesor pero nada!!! hice muchas pruebas diferentes que no han quedado en el código, con los mismos resultados... dejo mi código a ver en que erré
Luego de ver la solución del profesor, no me quedo nada claro, voy a seguir avanzando.... yo que empecé de cero con o lo que es programación me resulto inentendible casi la resolución
var pantalla = document.querySelector('canvas');
var pincel = pantalla.getContext('2d');
pincel.fillStyle = 'grey';
pincel.fillRect(0, 0, 600, 400);
var pincelRojo = pincel.fillStyle = "red"
pincel.fillRect(0, 0, 30, 30);
var posicionRojoX = 0;
var posicionRojoY = 0;
var pincelVerde = pincel.fillStyle = "green";
pincel.fillRect(30, 0, 30, 30);
var posicionVerdeX = 30;
var posicionVerdeY = 0;
var pincelAzul = pincel.fillStyle = "blue";
pincel.fillRect(60, 0, 30, 30);
var posicionAzulX = 60;
var posicionAzulY = 0;
var colores = ["red", "green", "blue"]
//probe colocar colores[0] en la varable pincelRojo y los otros y no lo tmomaba, tambien en el return para que lo tome la funcion de dibujar circulo y tampoco
var puedoDibujar = false;
function cambiarColor(event) {
var x = event.pageX - pantalla.offsetLeft;
var y = event.pageY - pantalla.offsetTop;
if((x > posicionRojoX ) && (x < posicionRojoX + 30) &&(y > posicionRojoY)&&(y > posicionRojoY + 30)){
alert("ROJO")
return pincelRojo
}else if((x > posicionVerdeX ) && (x < posicionVerdeX + 30) &&(y > posicionVerdeY)&&(y > posicionVerdeY + 30)){
return pincelVerde
}else if((x > posicionAzulX ) && (x < posicionAzulX + 30) &&(y > posicionAzulY)&&(y > posicionAzulY + 30)){
return pincelAzul
}// los +30 son para ajustar la ubicacion del cuadrado
}
pantalla.onclick = cambiarColor
//no estaría funcionando!!!!!
function dibujarCirculo(evento) {
if (puedoDibujar) {
var x = evento.pageX - pantalla.offsetLeft;
var y = evento.pageY - pantalla.offsetTop;
cambiarColor();// funcion que cambia color
pincel.beginPath();
pincel.arc(x, y, 5, 0, 2 * 3.14);
pincel.fill();
}
}
pantalla.onmousemove = dibujarCirculo;
function habilitarDibujar() {
puedoDibujar = true;
}
function deshabilitarDibujar() {
puedoDibujar = false;
}
pantalla.onmousedown = habilitarDibujar;
pantalla.onmouseup = deshabilitarDibujar;