Comunidad de diseño web y desarrollo en internet online

Necesiito ayuda con el punto de registro!!!!

Citar            
MensajeEscrito el 27 Ene 2009 03:35 pm
tengo un problema que no puedo resolver y necesito de su ayuda!!!
no puedo controlar la clase DynamicRegistration cuando hago drag&drog, necesito que el movie que voy a mover tome siempre el mismo punto de referencia, sin importar donde lo mueva, esto lo logro si no lo roto, cuando lo roto se me trula el punto de registro y se va para cualquier lado.
espero que a alguien me pueda ayudar, estoy perdidisimo....

este es el codigo:

Código ActionScript :

import com.darronschall.DynamicRegistration;

DynamicRegistration.initialize(this);
var centroN:Number;
var centroY:Number;
var clip:MovieClip = createEmptyMovieClip("_jpgPropiamente", 10);
var url = "http://estaticos01.cache.el-mundo.net/especiales/2007/07/espana/losmartiresdel97/img/mablanco/foto1.jpg"
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
mcLoader.loadClip(url, clip);
//cuando carga la imagen, seteo el punto de registro en su centro 
function onLoadInit () {
   centroX = _width/2;
   centroY = _height/2;
   setRegistration(centroX, centroY);
}
onPress = function () {
   startDrag(this);
}
//ejecuto el metodo update() cuando dejo de draggear el movie
onRelease = function () {
   update();
   stopDrag();
}
//
function update() {
   //esta dos lineas toman de un movie(_registrationPoint), que se encuentra en el parent, su _x e _y para
   //referencia del punto que quiero que siempre sea el mismo, sin importa la posicion de la imagen 
   //despues de hacer strartDrag
   //estas dos lineas funcionan bien si la rotacion es igual a cero, si cambia la rotacion esta ecuacion no sirve mas
   (_x > 0 ) ? centroMasX = _parent._registrationPoint._x - _x : centroMasX = _parent._registrationPoint._x + _x;
   (_y > 0 ) ? centroMasY = _parent._registrationPoint._y - _y : centroMasY = _parent._registrationPoint._y + _y;
   //genero un movie para saver donde esta el punto de referencia que esta tomando
   movie= this.createEmptyMovieClip("lalala", 10000);
   movie.attachMovie("puntoRegistro","puntoRegistro_",1000000);
   movie._x = centroMasX;
   movie._y = centroMasY;
   this.setRegistration(centroMasX, centroMasY);

}

en esta path les dejo el el archivo flash y la clase asi lo aprecian mejor:
http://www.lucasmonje.com/DynamicRegistration.rar

Por lucas_imaginar

7 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Ene 2009 07:27 pm
:P, estas un poco mal en los conceptos this y la condicional ?: ,tambien debes de saber que la DynamicRegistration usa nuevas variables, la _x2 _y2 _rotation2, por ejemplo si quieres rotar desde el centro, pones setRegistration a la mitad del clip y no usas _rotation, usas _rotation2 propiedad que esta involucrada con el punto de registro seleccionado.

Aun asi voy a reescribir un poco tu codigo, porque no entiendo que quieres hacer:
[as]
import com.darronschall.DynamicRegistration;

DynamicRegistration.initialize(this);
//centroN??
var centroX:Number;
var centroY:Number;
var clip:MovieClip = createEmptyMovieClip("_jpgPropiamente", 10);
var url = "http://estaticos01.cache.el-mundo.net/especiales/2007/07/espana/losmartiresdel97/img/mablanco/foto1.jpg"
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
mcLoader.loadClip(url, clip);
//cuando carga la imagen, seteo el punto de registro en su centro
function onLoadInit () {
this.setRegistration(this._width/2, this._height/2);
}
function onPress() {
startDrag(this);
}
//ejecuto el metodo update() cuando dejo de draggear el movie
function onRelease() {
update();
stopDrag();
}
//
function update() {
//esta dos lineas toman de un movie(_registrationPoint), que se encuentra en el parent, su _x e _y para
//referencia del punto que quiero que siempre sea el mismo, sin importa la posicion de la imagen
//despues de hacer strartDrag
//estas dos lineas funcionan bien si la rotacion es igual a cero, si cambia la rotacion esta ecuacion no sirve mas
centroMasX = _parent._registrationPoint._x + (this._x * -1);
centroMasY = _parent._registrationPoint._y + (this._y * -1);
//genero un movie para saver donde esta el punto de referencia que esta tomando
movie = this.createEmptyMovieClip("lalala", 10000);
movie.attachMovie("puntoRegistro","puntoRegistro_",1);
movie._x = centroMasX;
movie._y = centroMasY;
this.setRegistration(centroMasX, centroMasY);
}
[as]

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 29 Ene 2009 12:39 pm
hola, gracias por tu respuesta, perdon por no avisar pero ya le encontre la solucion, muchas gracias por todo.

Por lucas_imaginar

7 de clabLevel



 

firefox

 

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