Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] Optimicen el proyecto

Este fue mi codigo, quedo un poco diferente aunque reuse lo de no colorear en la paleta de colores Me ayudan con consejos de optimisacion por favor

var pantalla = document.querySelector('canvas');
var pincel = pantalla.getContext('2d');

pincel.fillStyle = 'grey';
pincel.fillRect(0, 0, 600, 400);

var puedoDibujar = false;
var elegirColor = "blue";


function dibujarCuadrado(x, y, color) {
    pincel.fillStyle = color;
    pincel.fillRect(x, y, 50, 50);
    pincel.strokeStyle = "black";
    pincel.strokeRect(x, y, 50, 50);
}

function dibujarCirculo(x,y) {
    if (puedoDibujar) {
        pincel.fillStyle = elegirColor;
        pincel.beginPath();
        pincel.arc(x, y, 5, 0, 2 * 3.14);
        pincel.fill();
    }
}

function habilitarDibujar() {

    puedoDibujar = true;
}

function deshabilitarDibujar() {

    puedoDibujar = false;
}

function seleccionarColor(evento) {
    var x = evento.pageX - pantalla.offsetLeft;
    var y = evento.pageY - pantalla.offsetTop;
    if (x > 0 && x < 50 && y > 0 && y < 50) {
        elegirColor = "Red";
    } if (x > 51 && x < 100 && y > 0 && y < 50) {
        elegirColor = "Green";
    } if (x > 101 && x < 150 && y > 0 && y < 50) {
        elegirColor = "Blue";
    }
}

function puedeDisenharArea(xCoo,yCoo){
    if (xCoo >= 0 && xCoo < 155 && yCoo >= 0 && yCoo < 55) {
        return false;
    }else{
        return true;
    }
}

function capturarMovimientoDelMause(evento){
    var x = evento.pageX - pantalla.offsetLeft;
    var y = evento.pageY - pantalla.offsetTop;
    if (puedeDisenharArea(x,y)){
        dibujarCirculo(x,y);
    }
}

dibujarCuadrado(0, 0, "red");
dibujarCuadrado(50, 0, "green");
dibujarCuadrado(100, 0, "blue");

pantalla.onclick = seleccionarColor;

pantalla.onmousemove = capturarMovimientoDelMause;

pantalla.onmousedown = habilitarDibujar;

pantalla.onmouseup = deshabilitarDibujar;
1 respuesta

Hola Braulio, espero que estés bien.

Hay varios puntos donde se puede hacer mejorías, pero creo que vas aprendiendo a mejorar tu código de acuerdo con que vas avanzando y entendiendo nuevos conceptos.

Voy a decir algunos puntos en que puedes mejor:

  • Utilizar espacios y saltos de línea para hacer que el código sea más legible.
  • Considerar utilizar una estructura de datos, como un objeto o un array, para almacenar los colores disponibles y sus coordenadas en la pantalla. De esta manera, puedes iterar sobre ellos en lugar de tener que escribir una condición para cada color.
  • Utilizar constantes en lugar de variables globales para almacenar valores que no cambian, como el tamaño de la pantalla o los colores disponibles.

No se preocupe si no entender las sugerencias que te di ahora. De acuerdo con que vas progresando vas a entender estos conceptos.

Si tienes alguna duda, no dejes de preguntar. ¡Estamos aquí para ayudarte!.

¡Saludos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios