Necesito dibujar un rectángulo en actionscript 3 con varias esquinas redondeadas.
Por ejemplo, 3 esquinas en ángulo recto y uno en curva. El método curveTo no lo acabo de entender... ¿alguien me puede echar una mano?
| |||
dibujar rectángulo con uno o varias esquinas redondeadas Necesito dibujar un rectángulo en actionscript 3 con varias esquinas redondeadas. Por ejemplo, 3 esquinas en ángulo recto y uno en curva. El método curveTo no lo acabo de entender... ¿alguien me puede echar una mano? |
| |||
Respuesta: dibujar rectángulo con uno o varias esquinas redondeadas Hola, ya lo he solucionado creando la siguiente función:
Código:
Donde esquina1 es el de arriba a la derecha y sucesivamente siguiendo las agujas del reloj.dibujaForma(clipCont:*,clipColor,maxWidth,maxHeight,cornerRadius,esquina1,esquina2,esquina3,esquina4){ // Dibuja un rectángulo de ancho maxWidth y alto maxHeight, pudiendo redondear cada esquina a petición. clipCont.graphics.beginFill(clipColor); clipCont.graphics.moveTo(0,0); if (esquina1){ clipCont.graphics.lineTo(maxWidth-cornerRadius,0); clipCont.graphics.curveTo(maxWidth,0,maxWidth,0+cornerRadius); }else{ clipCont.graphics.lineTo(maxWidth,0); } if (esquina2){ clipCont.graphics.lineTo(maxWidth,contenedor.height-cornerRadius); clipCont.graphics.curveTo(maxWidth,contenedor.height,maxWidth-cornerRadius,maxHeight); }else{ clipCont.graphics.lineTo(maxWidth,maxHeight); } if (esquina3){ clipCont.graphics.lineTo(0+cornerRadius,maxHeight); clipCont.graphics.curveTo(0,maxHeight,0,maxHeight-cornerRadius); }else{ clipCont.graphics.lineTo(0,maxHeight); } if (esquina4){ clipCont.graphics.lineTo(0,0+cornerRadius); clipCont.graphics.curveTo(0,0,0+cornerRadius,0); }else{ clipCont.graphics.lineTo(0,0); } clipCont.graphics.endFill(); } Si esquina1 es true se dibuja la curva, sino es un ángulo recto, y de la misma forma para el resto de esquinas. Espero que le sirva a alguien! ;) |
Etiquetas: |