Visualizzazione dei risultati da 1 a 5 su 5

Discussione: problema drag

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    31

    problema drag

    Ciao ragazzi, ho un problema con un il drag. Ho dei box draggabili (stile sitema operativo), esempio:

    //box_pag1//
    box_pag1.onPress = function (){this.startDrag();}
    box_pag1.onMouseUp = function (){this.stopDrag();}
    box_pag1.onRollOver = function() {this.swapDepths(_root.getNextHighestDepth());}
    box_pag1.onRollOut = function() {box_pag1.swapDepths();}


    ...dentro questi box ovviamente ci sono dei pulsanti. Beh i pulsanti non funzionano, è come se il muose non li vedesse... :master: :master: :master:
    Grazie mille
    A2

  2. #2
    Ciao

    Puoi provare a mettere il pulsante più in profondità rispetto a quello cliccabile, ad esempio

    box_pag1.drag_btn.onPress = function (){this._parent.startDrag();} // mi raccomando this._parent !
    box_pag1.drag_btn.onMouseUp = function (){this._parent.stopDrag();}

    box_pag1_btn.onPress = function (){funzione();}




    non è testato ma dovrebbe funzionare

    facci sapere!
    devartstudio.com
    Multimedia&ArtDesign

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    31
    ciao Devart non riesco a farlo funzionare, il codice devo inserirlo direttamente sul clipfilmato (il box che contiene i pulsanti) o su un livello azioni?
    Grazie mille!
    A2
    ps: complimenti per il sito!

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    In AS1-2 il codice legato ad un clip/pulsante per gli eventi del mouse fa sì che tutto quello che c'è al suo interno perda l'interattività in favore del contenitore.
    Per farlo funzionare, dovresti limitare il drag del box alla sola barra del titolo ad esempio, come succede appunto nei sistemi operativi.
    Il suggerimento di devartstudio è validissimo, ma solo nel momento in cui utilizzi appunto un clip/pulsante che abbia solo quello scopo all'interno del tuo box.

  5. #5
    Effettivamente non funziona mi sono sfuggite un paio di cose.

    Prima cosa, l'evento onMouseUp se non sbaglio è di javascript, actionscript usa onRelease.

    box_pag1 deve essere un movieclip senza eventi del mouse, al contrario del mio esempio, quindi sarà un contenitore di due pulsanti, uno per il drag, l'altro per chiamare la funzione.

    Il pulsante per il drag deve essere più in profondità di quello della funzione, come appunto ti dicevo.

    Di seguito il codice corretto.

    box_pag1.drag_btn.onPress = function (){this._parent.startDrag();} // mi raccomando this._parent !
    box_pag1.drag_btn.onRelease = function (){this._parent.stopDrag();}

    box_pag1.link_btn.onRelease = function (){funzione();}

    Per esperienza ti consiglio di associare la stessa funzione dell' onRelease all' evento onReleaseOutside, quindi:

    box_pag1.drag_btn.onReleaseOutside = function (){this._parent.stopDrag();}

    Può succedere che il mouse sia più veloce del clip trascinato e malgrado rilasci il tasto del mouse il mc continua a seguire il cursore!

    Questo codice va scritto nel frame che contiene il mc box_pagina1

    ciao ciao!
    devartstudio.com
    Multimedia&ArtDesign

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.