Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/09/2010, 08:55
mundakas
 
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! ;)