Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
4
respuestas

Este triangulo no me sale en pantalla

Buenas. Necesito ayuda aqui, por favor.

Estoy practicando con la bandera, y quiero mover el triangulo al centro de mi primer cuadrante, el cuadrante de color verde. Pero no me está saliendo. Algun error debo tener. Una ayuda, porfa.

Muchas gracias.

<script>
  var pantalla = document.querySelector("canvas");
  var pincel = pantalla.getContext("2d");

  pincel.fillStyle = "lightgrey"; //propiedad
  pincel.fillRect(00, 00, 600, 400); //funcion

  // define mi primer cuadro de color verde en 200x400
  pincel.fillStyle = "green";
  pincel.fillRect(0, 0, 200, 400);

  pincel.fillStyle = "red";
  pincel.beginPath();
  pincel.moveTo(150, 200); //define un punto en la coordenada 150x200
  pincel.lineTo(150, 200); //define una diagonal  izquierda en la coordenada 150x200
  pincel.lineTo(200, 150); //define una diagonal derecha en la coordenada 200x150
  pince.fill(); //Aplica color rojo al hipotetico triangulo que he definido
</script>`

`

4 respuestas

Hola Le, uno de los errores que tienes es que en la penúltima linea , dice pince.fill(); , te falta una "l" para que diga pincel.fill(); Esa no es toda la solución a tu problema, el problema se encuentra en las coordenadas. Debido a que primero mueves el punto a la coordenada (150,200) y luego le pides que trace una linea a la misma coordenada (150,200) el programa no genera ninguna linea. Te dejo el codigo con la solución. donde solo cambie pincel.lineTo(0,200); para que se trace la diagonal izquierda.

<canvas width="600" height="400"></canvas>

<script>
  var pantalla = document.querySelector("canvas");
  var pincel = pantalla.getContext("2d");

  pincel.fillStyle = "lightgrey"; //propiedad
  pincel.fillRect(00, 00, 600, 400); //funcion

  // define mi primer cuadro de color verde en 200x400

  pincel.fillStyle = "green";
  pincel.fillRect(0, 0, 200, 400);

  pincel.fillStyle = "red";
  pincel.beginPath();
  pincel.moveTo(150, 200); //define un punto en la coordenada 150x200
  pincel.lineTo(0, 200); //define una diagonal  izquierda en la coordenada 0x200
  pincel.lineTo(200, 150); //define una diagonal derecha en la coordenada 200x150
  pincel.fill(); //Aplica color rojo al hipotetico triangulo que he definido


</script>

espero haber resuelto tu duda. Saludos :D

Hola. Efectivamente tenia mal escrito la funcion "pincel". Ahora bien, hice una modigicacion al codigo, el que me enviaste no es lo que necesito, sino este que te envío ahora, pero se origine en el eje horizontal de X, no en el eje horizontal de la Y. Aqui te envio el codigo.

 <canvas width="600" height="400"></canvas>

    <script>
      var pantalla = document.querySelector("canvas");
      var pincel = pantalla.getContext("2d");

      pincel.fillStyle = "lightgrey"; //propiedad
      pincel.fillRect(00, 00, 600, 400); //funcion

      // define mi primer cuadro de color verde en 200x400
      pincel.fillStyle = "green";
      pincel.fillRect(0, 0, 200, 400);

      pincel.fillStyle = "red";
      pincel.beginPath();
      pincel.moveTo(100, 100); //define un punto en la coordenada 150x200
      pincel.lineTo(0, 10); //define una diagonal en la coordenada izq 150x200
      pincel.lineTo(200, 10); //define un pundo en la coordenada derc
      pincel.fill(); //Aplica color rojo al hipotetico triangulo que he definido
    </script>

Ya lo he solucionado. Muchas gracias


      // define mi primer cuadro de color verde en 200x400
      pincel.fillStyle = "green";
      pincel.fillRect(0, 0, 200, 400);

      pincel.fillStyle = "red";
      pincel.beginPath();
      pincel.moveTo(100, 200); //define un punto en la coordenada 150x200
      pincel.lineTo(0, 400); //define una diagonal en la coordenada izq 150x200
      pincel.lineTo(200, 400); //define un pundo en la coordenada derc
      pincel.fill(); //Aplica color rojo al hipotetico triangulo que he definido
<canvas width="600" height="400"></canvas>

<script>
  var pantalla = document.querySelector("canvas");
  var pincel = pantalla.getContext("2d");

  pincel.fillStyle = "lightgrey"; //propiedad
  pincel.fillRect(00, 00, 600, 400); //funcion

  // define mi primer cuadro de color verde en 200x400

  pincel.fillStyle = "green";
  pincel.fillRect(0, 0, 200, 400);

  pincel.fillStyle = "red";
  pincel.beginPath();
  pincel.moveTo(100, 100); //define un punto en la coordenada 150x200
  pincel.lineTo(0, 00); //define una diagonal  izquierda en la coordenada 0x200
  pincel.lineTo(00, 200); //define una diagonal derecha en la coordenada 200x150
  pincel.fill(); //Aplica color rojo al hipotetico triangulo que he definido


</script>

si gustas puedes enviarme un mensaje por whatsapp y te podria ayudar con tu duda 2225273110

ejecutando este programa, al dar click te dira las coordenadas X y Y, esto te puede servir para que te ayudes a poner las coordenadas en tu programa

<canvas width="600" height="400"></canvas>

<script>

    var pantalla = document.querySelector("canvas");
    var pincel = pantalla.getContext("2d");
    pincel.fillStyle = "lightgray";
    pincel.fillRect(0, 0, 600, 400);

    function disparar(evento){

    var x = evento.pageX - pantalla.offsetLeft;
    var y = evento.pageY - pantalla.offsetTop;

    alert("la coordenada x es:" + x  + " la coordenada y es:" + y);
}

    pantalla.onclick = disparar;

</script>

saludos