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: |