Visualizzazione dei risultati da 1 a 5 su 5

Discussione: startDrag Multiplo

  1. #1

    startDrag Multiplo

    Ciao a tutti,
    ho la necessità di far draggare 2 oggetti contemporaneamente, cosa che, per quanto ne so io, non è possibile far fare nativamente da flash mx 2004 professional...
    uno dei 2 oggetti è un finto puntatore del mouse inizializzato così:
    onClipEvent (load) {
    Mouse.hide();
    startDrag("", true);
    }

    mentre un altro è una barra di scorrimento che usa questo codice (incompleto in alcune parti)


    onClipEvent (enterFrame) {
    _parent.FEventi._y = _parent.FEventi._y - (this._y - y_iniz);
    if (dragging == true) {
    _root.cursor._y = _root._ymouse;
    _root.cursor._x = _root._xmouse;
    }
    }

    onClipEvent (mouseDown) {
    if (hitTest(_root._xmouse, _root._ymouse, true)) {
    startDrag (this, false, x_iniz, y_iniz, x_iniz, max_escursione);
    dragging=true;
    mouse.show();
    };
    }

    onClipEvent (mouseUp) {
    stopDrag ();
    startDrag("_root.cursor", true);
    dragging=false;
    }

    Spiegandolo in 2 parole, quando draggo la scrollbar posiziono manualmente il puntatore, quando mollo la scrollbar ripasso lo startdrag al puntatore...

    Il problema che non riesco a risolvere è che durante il dragging della scrollbar la coordinata _root._xmouse resta sempre fissa (ho controllato con un trace(_root._xmouse)) e non corrisponde piu' alla reale coordinata del mouse, con la conseguenza che quando riporto il drag al finto cursore del mouse vedo un fastidioso sbalzo del puntatore...
    qualcuno sa perchè succede questo e soprattutto perche' succede solo alla coordinata x e non alla y???
    In mancanza di una soluzione, qualsiasi proposta alternativa è ben accetta!!!

    Ciao e grazie in anticipo...

  2. #2
    ti consiglio di usare un altro metodo per il puntatore del mouse:
    all'interno del movieClip che funge da puntatore scrivi:

    codice:
    Mouse.hide();
    this.onMouseMove = function(){
         this._x = _root._xmouse;
         this._y = _root._ymouse;
         updateAfterEvent();
    }
    in questo modo vedi sempre il tuo puntatore

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

  3. #3
    meglio così:

    codice:
    Mouse.hide();
    _x = _root._xmouse;
    _y = _root._ymouse;
    this.onMouseMove = function(){
         this._x = _root._xmouse;
         this._y = _root._ymouse;
         updateAfterEvent();
    }

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

  4. #4
    Ciao, ho gia' provato così e purtroppo non cambia niente...

    il problema penso sia proprio nella proprieta' _root._xmouse,
    che, ho visto debuggando un po' l'applicazione, durante il drag'n drop resta fisso al valore di partenza anche se il mouse si sposto il mouse lungo l'asse delle x, per ripristinarsi di colpo quando smetto di fare il drag'n drop

    Ciao e grazie comunque!!!

  5. #5
    Originariamente inviato da majorTom
    Ciao, ho gia' provato così e purtroppo non cambia niente...

    il problema penso sia proprio nella proprieta' _root._xmouse,
    che, ho visto debuggando un po' l'applicazione, durante il drag'n drop resta fisso al valore di partenza anche se il mouse si sposto il mouse lungo l'asse delle x, per ripristinarsi di colpo quando smetto di fare il drag'n drop

    Ciao e grazie comunque!!!
    a me funziona più che bene...

    esempio

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.