Comunidad de diseño web y desarrollo en internet online

Problema con tweens

Citar            
MensajeEscrito el 18 Ene 2011 08:40 pm
Estoy armando una clase donde creo un cuadrado que va a ser un "boton", pero cuando le pongo el tween en el evento mouse over para que se alarge hacia la derecha, se agranda pero se mueve un poco para la derecha, no mantiene su posicion.

Este es el codigo

Código ActionScript :

package  
{
   import fl.transitions.easing.Regular;
   import fl.transitions.Tween;
   import flash.display.MovieClip;
   import flash.display.Shape;
   import flash.display.Sprite;
   import flash.events.MouseEvent;
   /**
    * ...
    * @author nico
    */
   public class Dibujar extends MovieClip 
   {
      private var tweenW:Tween;
      private var cuadrado:Sprite;
      
      public function Dibujar() 
      {
         var cuadrado:Sprite = new Sprite();
         
         cuadrado.graphics.beginFill(0xFF0000, 1);
         cuadrado.graphics.drawRect(20, 20, 100, 40);
         cuadrado.graphics.endFill();
         cuadrado.buttonMode = true;
         this.addChild(cuadrado);
         this.stage.addEventListener(MouseEvent.MOUSE_OVER, estirar);
         
      }
      
      private function estirar(e:MouseEvent):void 
      {
         tweenW = new Tween(this, "width", Regular.easeOut, 100, 200, 1, true);
      }
      
   }

}

Por Skuash

40 de clabLevel



Genero:Masculino  

Buenos Aires, Argentina.

firefox
Citar            
MensajeEscrito el 18 Ene 2011 09:23 pm
Cambiale el punto de anclaje al angulo superior izquierdo para que se estire desde allí

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Ene 2011 09:37 pm
Y como hago eso?, no es un movie clip visual, el cuadrado fue creado por codigo.

Por Skuash

40 de clabLevel



Genero:Masculino  

Buenos Aires, Argentina.

firefox
Citar            
MensajeEscrito el 18 Ene 2011 09:41 pm
Sorry, estas usando this como argumento del tween, cuando debería ser una referencia al cuadrado. Si lo que quieres es que se agrande al hacerle click, agrega el evento al cuadrado en vez del al Stage, o guarda una referencia al cuadrado en una variable que no sea local a la funcion

Jorge.

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Ene 2011 09:48 pm
Lo que quiero es que cuando pase el mouse por arriba se agrande para la derecha sin mover su posicion.

Por Skuash

40 de clabLevel



Genero:Masculino  

Buenos Aires, Argentina.

firefox
Citar            
MensajeEscrito el 19 Ene 2011 01:22 am
Claro, quizás no fui claro, resumo:

- No agregues el listener al stage, agrégaselo al cuadrado
- No uses this en la función estirar, usa e.target

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Ene 2011 01:26 pm
Modifique lo que me dijiste, pero tengo basicamente el mismo efecto, el cuadrado se sige desplazando un poco a la derecha cuando se "estira", no mantiene su posicion.

Por Skuash

40 de clabLevel



Genero:Masculino  

Buenos Aires, Argentina.

firefox
Citar            
MensajeEscrito el 19 Ene 2011 02:12 pm
Lo he probado, es cierto, supongo que el drawing API se redibuja en el Tween, porque si usas un MovieClip previamente dibujado no pasa. Si es un caso puntual, puedes corregirlo compensando, es aproximadamente un 10% del tamaño al que apuntas

Código ActionScript :

function estirar(e:MouseEvent):void  
{ 
  var tweenW:Tween = new Tween(e.target, "width", Regular.easeOut, 100, 200, 1, true); 
  var tweenH:Tween = new Tween(e.target, "x", Regular.easeOut, e.target.x, -20, 1, true);
} 


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Ene 2011 02:58 pm
Claro, si lo dibujas es mas facil, pero como estoy aprendiendo a programar estoy intentando crear la mayor parte de las cosas en codigo para ir acostumbrandome a codear, gracias por la ayuda!.

Por Skuash

40 de clabLevel



Genero:Masculino  

Buenos Aires, Argentina.

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.