20/09/2010, 08:55
|
| | Fecha de Ingreso: junio-2009
Mensajes: 19
Antigüedad: 15 años, 6 meses Puntos: 1 | |
Respuesta: dibujar rectángulo con uno o varias esquinas redondeadas Hola, ya lo he solucionado creando la siguiente función:
Código:
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();
}
Donde esquina1 es el de arriba a la derecha y sucesivamente siguiendo las agujas del reloj.
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! ;) |