Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Drag'n'drop limitato

  1. #1

    Drag'n'drop limitato

    Ciao a tutti!

    Sto cercando di realizzare il drag'n'drop di un pulsante. Vorrei far sì che non fosse possibile trascinarlo oltre una certa zona (delimitata da un'altra movie clip o da un rettangolo di cui posso fornire le coordinate rispetto allo stage). Ho spulciato il forum e il manuale AS ma non ho trovato nulla di interessante. Qualcuno mi può aiutare?

    Grazie!

  2. #2

    Re: Drag'n'drop limitato

    Originariamente inviato da fabbio86
    Ciao a tutti!

    Sto cercando di realizzare il drag'n'drop di un pulsante. Vorrei far sì che non fosse possibile trascinarlo oltre una certa zona (delimitata da un'altra movie clip o da un rettangolo di cui posso fornire le coordinate rispetto allo stage). Ho spulciato il forum e il manuale AS ma non ho trovato nulla di interessante. Qualcuno mi può aiutare?

    Grazie!
    con una cosa del genere

    startDrag( this,false,-30, 230, 460, -25);

    dove
    my_mc.startDrag([lock, [left, top, right, bottom]])

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  3. #3
    Grazie!

    Avevo provato nel modo in cui suggerisci senza ottenere alcun risultato, ma non avevo capito bene le specifiche della startDrag();
    In effetti non le capisco tutt'ora: le coordinate non sono riferite allo stage? Mi sembrava di aver letto che sono misurate rispetto al parent. Ma il parent del button (cioè la mc) o il parent della MovieClip nella quale il button è inserito?

    Qualche altra domanda:

    1) Se volessi che una mc fungesse da delimitatore del movimento come posso fare?
    2) Su che oggetto devo invocare la stopDrag()? Non riesco a farla funzionare...

    Io ho scritto questo codice in un pulsante che è contenuto in una mc di nome mc2 posta nello stage:

    on(press){
    _root.mc2.startDrag(_root.mc2, true, -30, 230, 460, -25);
    }

    on(release){
    _root.mc2.stopDrag();
    }

    Grazie ancora!

  4. #4
    Originariamente inviato da fabbio86
    Grazie!

    Avevo provato nel modo in cui suggerisci senza ottenere alcun risultato, ma non avevo capito bene le specifiche della startDrag();
    In effetti non le capisco tutt'ora: le coordinate non sono riferite allo stage? Mi sembrava di aver letto che sono misurate rispetto al parent. Ma il parent del button (cioè la mc) o il parent della MovieClip nella quale il button è inserito?

    Qualche altra domanda:

    1) Se volessi che una mc fungesse da delimitatore del movimento come posso fare?
    2) Su che oggetto devo invocare la stopDrag()? Non riesco a farla funzionare...

    Io ho scritto questo codice in un pulsante che è contenuto in una mc di nome mc2 posta nello stage:

    on(press){
    _root.mc2.startDrag(_root.mc2, true, -30, 230, 460, -25);//qua è sbagliato
    }

    on(release){
    _root.mc2.stopDrag();
    }

    Grazie ancora!
    >Avevo provato nel modo in cui suggerisci senza ottenere alcun risultato, ma non avevo capito bene le specifiche della startDrag();
    In effetti non le capisco tutt'ora: le coordinate non sono riferite allo stage? Mi sembrava di aver letto che sono misurate rispetto al parent. Ma il parent del button (cioè la mc) o il parent della MovieClip nella quale il button è inserito?

    sinceramente nn ho capito molto sarà che è lunedi mattina

    allora suponiamo di voler draggare un oggetto sullo stage con nome istanza prova
    sul frame metti questo

    prova.onPress=function(){
    startDrag(prova, false, -30, 230, 460, -25);
    }
    //x fermare il drag
    prova.onRelease=function(){
    stopDrag();
    }

    mentre quelle coordinate sono riferite in questo caso allo stage quindi sarà limitato a sx a -30 in altoa 230 a dx a 460 in basso a -25 quindi un pò sballate le misure

    metti il caso che tu volessi far spostare il clip draggato solo in un'area di 400x 300 messa sullo stage a 50 x50 di coordinate allora dovresti usare come coordinate
    a sx 50 in alto 50 a dx devi considerare in questo caso
    50 coordinata di inzio + 300 spazio meno le dimensioni del clip draggato supponendo che questi sia largo 80 --->quindi (50+400)-80 ----> 270
    in basso (50 + 300)-l'altezza del clip

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  5. #5

  6. #6
    Originariamente inviato da fabbio86
    Bon, ho risolto con un discreto risultato . Grazie!
    carino il giochino!

    beh alla fine lì'importante è risolvere

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

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.