Comunidad de diseño web y desarrollo en internet online

startDrag dinamico

Citar            
MensajeEscrito el 22 Abr 2011 11:54 pm
Ok molestandolos con otra duda, estoy haciendo un galeria de imagenes, que cargo por medio de xml, pero quiero cambiar el tipico "dar click y aparece la informacion" lo que quiero hacer es que arrastre la imagen a un contenedor y aparezca la informacion en un costado, eso ya funciona correctamente todo, a excepcion de ke si arrastro una imagen y hay otra imagen ya previamente en el contenedor, la imagen anterior deberia de regresar a su posicion original,es decir, la imagen que ya estaba en el contenedor regrese a la posicion en la que estaba anteriormente cuando se arrastre una nueva imagen al contenedor, hice una version corta de mi codigo para que vean el funcionamiento, gracias por la ayuda

Código ActionScript :

for(var i:Number = 1; i<Ramos.ramo.length(); i++)
            {
            //agrego mi mc al escenario
                var mc:MovieClip = new datos();
                
                var Nombre:String = Ramos.ramo[i].nombre;
                
                
                mc.nombre.text = Nombre
                
                mc.Nombre = Nombre

mc.addEventListener(MouseEvent.MOUSE_DOWN,arrastrar)
mc.addEventListener(MouseEvent.MOUSE_UP,soltar)

function arrastrar(e:Event){
    
    // permite arrastrar especificamente el boton que queremos 
    //arrastrar sin perder la informacion al hacerlo
    
    e.currentTarget.startDrag(true)
    
    //toma el valor X y Y de la posicion que se encuentra el MC
    //antes de empezar a arrastrarlo al contenedor
    posYOri = e.currentTarget.y;
    posXOri = e.currentTarget.x;
}

function soltar(e:Event){
    
    // detener el arrastrado
    stopDrag()
    // verifica si hizo contacto el MC con el contenedor
    
    if(e.currentTarget.hitTestObject(contenedor)){
        
        //si existiera un mc ocupando el contenedor, colocar ese mc en la posicion
        //en la que estaba anteriormente y dejar el nuevo mc y mostrar la nueva informacion
        
        trace(e.currentTarget.Nombre)
        
    }else{
    
    // si no toca al contenedor regresa a su posicion inicial en el menu
        e.currentTarget.y = posYOri
        e.currentTarget.x = posXOri
    }
}
            
            }

Por palmeros

46 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Abr 2011 11:21 am
Debes guardar en algún lado cual es la foto actual, y en realidad podrías guardar en la foto misma (si es un MC) posYOri y posXOri, así cuando sueltas la otra foto, simplemente le dices a la variable actual (que guarda la última foto arrastrada) que vuelve a posYOri y posXOri ... para el movimiento puedes usar simplemente una clase de Tween

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 Abr 2011 11:16 pm
listo ya quedo muchas gracias jorge quedo excelente :)

Por palmeros

46 de clabLevel



Genero:Masculino  

firefox

 

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