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!