• Archivo

ajustar tamaño simetricamente (resize constrains proportions)

Necesitaba crear una funcion para ajustar dinamicamente el tamaño de un movieclip y tenia que ser muy al estilo Drag&Drop asi que cree este codigo para hacerlo , aun tiene algunos problemitas como pueden ver en el ejemplo pero en general da la idea clara de como hacer el resize y creo que es una aproximacion diferente a muchos de los ejemplos que hay en internet.

CODIGO :

 

var clickX
var clickY

resizer.addEventListener(MouseEvent.MOUSE_DOWN , onResizerPress )

function onResizerPress (e:MouseEvent) {  
 clickX = this.x + this.width  – this.parent.mouseX
 clickY = this.y + this.height – this.parent.mouseY 
 this.parent.setChildIndex( this , this.parent.numChildren-1);
 addEventListener(Event.ENTER_FRAME ,     onResizerFrame )
 resizer.addEventListener(MouseEvent.MOUSE_UP , onResizerRelease )
 this.parent.stage.addEventListener(MouseEvent.MOUSE_UP , onResizerRelease )
}

function onResizerRelease (e:MouseEvent) {  
  if( hasEventListener(Event.ENTER_FRAME) ){
    removeEventListener(Event.ENTER_FRAME , onResizerFrame )
  }
  if( resizer.hasEventListener(MouseEvent.MOUSE_UP ) ){  
   resizer.addEventListener(MouseEvent.MOUSE_UP ,onResizerRelease )
  }
  if( this.parent.stage.hasEventListener(MouseEvent.MOUSE_UP  ) ){
   this.parent.stage.removeEventListener(MouseEvent.MOUSE_UP , onResizerRelease )
  }
}
function onResizerFrame (e:Event) { 
 
 var w   =  this.parent.mouseX – this.x + clickX
 var h   =  this.parent.mouseY – this.y + clickY
 
 width  =  w
 scaleY  =  scaleX 
    
}

 

 

El codigo va dentro de un movieclip y dentro del movieclip debe existir otro movieclip llamada “resizer” , espero convertir a una clase este codigo pero lo dejo pendiente por ahora.

EJEMPLO:

Leave a Reply

Your email address will not be published. Required fields are marked *