Foros del Web » Creando para Internet » Flash y Actionscript »

dibujar rectángulo con uno o varias esquinas redondeadas

Estas en el tema de dibujar rectángulo con uno o varias esquinas redondeadas en el foro de Flash y Actionscript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 20/09/2010, 06:25
 
Fecha de Ingreso: junio-2009
Mensajes: 19
Antigüedad: 15 años, 6 meses
Puntos: 1
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?
  #2 (permalink)  
Antiguo 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! ;)

Etiquetas: dibujar, esquinas, redondeadas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:31.