Comunidad de diseño web y desarrollo en internet online

¿Cambiar punto de registro con AS3?

Citar            
MensajeEscrito el 09 Nov 2007 01:07 pm
Hola, necesito cambiar el punto de registro de una variable Sprite, ¿Cómo se hace con ActionScript?
Gracias

Por jlsandoval

29 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Nov 2007 03:52 pm
No se puede cambiar el punto de registro.
Lo que se puede hacer es mover el contenido del sprite a otro lugar.

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 12 Nov 2007 09:59 am
Necesito poner el punto de registro de un Sprite en el centro del mismo, ya que dentro de él cargo una imagen y quiero ampliarla y reducirla, pero desde el centro, no desde la esquina superior izquierda. ¿Cómo podría hacer esto sin cambiar el punto de registro?
Gracias

Por jlsandoval

29 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Nov 2007 01:48 pm
Al cargar tu imagen tienes que centrarla dentro del sprite con AS, postea el codigo donde cargas tu imagen, para indicarte que cambios le tienes que hacer para centrarlo.

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 13 Nov 2007 08:54 am

Código :

var cargadorImagen:CargaImagen = new CargaImagen("imagen.jpg", 280, 190);
cargadorImagen.x=320;
cargadorImagen.y=95;
contenedorImagenPrincipal.addChild(cargadorImagen);
stage.addChild(contenedorImagenPrincipal);


Y el código de la clase CargaImagen es el siguiente:

Código :

  public class CargaImagen extends Sprite {

   private var _ancho:int;
   private var _alto:int;
   private var _loader:Loader;

   public function CargaImagen(fichero:String, ancho:int, alto:int) {
     _ancho = ancho;
     _alto = alto;
     _loader = new Loader();
      
      _loader.contentLoaderInfo.addEventListener( Event.OPEN, handleOpen );
      _loader.contentLoaderInfo.addEventListener( ProgressEvent.PROGRESS, handleProgress );
      _loader.contentLoaderInfo.addEventListener( Event.COMPLETE, handleComplete );
      
      _loader.load( new URLRequest( fichero ) );
    }
    
    private function handleOpen( event:Event ):void {
    }
    
    private function handleProgress( event:ProgressEvent ):void {
      var percent:Number = event.bytesLoaded / event.bytesTotal * 100;
    }
    
    private function handleComplete( event:Event ):void {
      var image:Bitmap = Bitmap(_loader.content);
      if (_ancho != 0) image.width=_ancho;
      if (_alto != 0) image.height=_alto;
       addChild( _loader );
    }
  }


Muchas gracias por tu ayuda

Por jlsandoval

29 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Nov 2007 02:20 pm
usa la siguiente función para centrar el sprite que quieres escalar:

Código :

function Centrar (obj:DisplayObjectContainer) {
   for (var i=0; i< obj.numChildren; i++) {
      var obj2 = obj.getChildAt(i);
      var Ancho = obj2.width;
      var Alto = obj2.height;
      obj2.x = Ancho / 2 * -1;
      obj2.y = Alto / 2 * -1;
      trace("centrando ", obj2, "Ancho=",Ancho,"Alto=",Alto, "nueva Pos(",obj2.x,",",obj2.y,")");
   }
}
Centrar(cargadorImagen);

pero ten en cuenta que la posición del sprite debe estar en el centro de tu area visible
¿cual es el srpite que quieres escalar? ¿contenedorImagenPrincipal o cargadorImagen?

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 13 Nov 2007 07:56 pm
si se puede cambiar el punto de registro mira esta pagina oscar trellez lo hizo en AS3 y ahi mismo esta la liga para AS2.

http://www.oscartrelles.com/archives/dynamic_movieclip_registration_with_as3

Por DiegoAzul

376 de clabLevel



 

Mx

firefox
Citar            
MensajeEscrito el 14 Nov 2007 12:54 am
DiegoAzul. Estrictemente hablando Gabynufe tiene razón, no se puede. Lo que hace la clase es crear un "punto de registro falso" y es sobre ése sobre el que trabaja (fíjate que por eso crea nuevas propiedades, como x2, y2, etc.)
¿A qué se debe el tamaño gigante de las letras? ¿El normal no se lee bien?

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox

 

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