En una clase personalizada dibujo unos rectangulos con bordes redondeados y al hacer clic sobre ellos se redimensionan. El código simplificado:
Código ActionScript :
class RectanguloRedondeado extends MovieClip(){
var radio:Number = 25
public function RectanguloRedondeado(){
drawRect(100,40,radio) //width, height, radio
}
public function redimensiona(nuevoWidth,nuevoHeight){
Tweener.addTween(this,{_width:nuevoWidth, _height:nuevoHeight, time:1, onUpdate:updateRect}
}
private function updateRect(){
drawRect(this._width,this._height,radio);
}
private function drawRect(ancho:Number,alto:Number,radius:Number){
// Aquí se dibuja el rectangulo usando beginFill, moveTo, curvTo..
}
}
El código en sí funciona, pero hay algun tipo de problema, supongo que de rendimiento, que hace que cuando se vuelve a dibujar la forma en el metodo updateRect() se ven algunos saltos en el tamaño del rectángulo de vez en cuando y la animación no queda fluida.
Puede que no haya escogido el camino adecuado para animar el crecimiento, pero quería que fuese algo muy sencillo. Se que si divido el rectangulo en 7 partes (bordes redondeados, centrales...) un poco como se haria un botón liquido en CSS y después calculo posiciones no me daría problema, pero quiero que el código quede sencillo.
¿Alguno sugerencia?
¡Gracias!
