Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    drag...condizionato: quando lo dico io!

    Ciao a tutti!
    Ho un problemino con gli eventi startdrag/stopdrag.

    Spiego:
    breve intro e invito l'utente a draggare un piccolo movieclip.
    L'utente ha quindi modo di trascinare il movieclip all'interno dello stage e di rilasciarlo a piacimento.
    L'invito è di draggare il movieclip in una data area dello stage affinchè avvenga qualcosa.

    Ho realizzato uno script del genere ma...ovviamente...non va

    Lo script è posto all'ultimo frame della timeline.
    "diva" è il nome del moviclip da draggare.
    Condiziono "startdrag" in modo che lo spostamento del clip avvenga solo all'interno dello stage.
    Poi condiziono lo "stopdrag":
    quando viene rilasciato il clip "diva"...
    se il drag è attivo --> se la x di "diva" è uguale a 200 allora fai succedere qualcosa...altrimenti...stoppa il drag.

    codice:
    diva.onPress=function(){
    this.startDrag(false, 145, 40, 883, 730);
    click._visible=0;
    }
    diva.onRelease=diva.onReleaseOutside=function(){
    	if (diva.startDrag=true){
    		if (_root.diva._x=200) {
    			gotoAndPlay(1);
    		} else {
    			this.stopDrag();
    }
    }
    }
    stop();
    Qualcuno può aiutarmi a capire perchè non avviene quel che cerco?
    Dove sbaglio?
    Premetto di non essere sicurissimo, ovviamente, di aver redatto correttamente lo script.

    Grazie a tutti in anticipo per la lettura e per l'aiuto.

    Buona giornata!
    @lex!

  2. #2
    al release fai un hitTest tra il clip draggato e il clip che lo deve contenere.

  3. #3
    Ottimo! Grazie!

    Un'altra curiosità, e qui proprio non saprei come fare

    Se volessi che man mano che il clip "diva" si avvicina al clip che lo deve contenere quest'ultimo aumenti il proprio alpha (precedentemente fissato a 0) e che, al contrario, man mano che i due clip si allontanano, il clip contenitore diminuisca il proprio alpha?
    Come potrei fare? Immagino si possa fare sempre con HitTest ma non saprei come condizionarlo.
    @lex!

  4. #4
    potresti provare ad usare la formula della distanza trai due oggetti
    codice:
    ascissa=(contenitore_mc._x-diva_mc._x)
    ordinata=(contenitore_mc._y-diva_mc._y)
    distanza=Math.sqrt((ascissa*ascissa)+(ordinata*ordinata))
    e poi potresti provare ad associare l'alpha del contenitore al valore della distanza negativo, xkè tu vuoi ke man mano ke la distanza è minore l'alpha sia maggiore e il contrario

    codice:
    contenitore_mc._alpha= - distanza
    nn l'ho provato, quindi nn so se va bene, prova!!

  5. #5
    scusami ho sbagliato, x associare l'alpha dovresti scrivere così

    codice:
    contenitore_mc._alpha=100-distanza
    per far modificare l'alpha in base alla posizione del mouse invece dovrai scrivere così

    codice:
    ascmouse=(contenitore_mc._x-_xmouse)
    ordmouse=(contenitore_mc._y-_ymouse)
    distmouse=Math.sqrt((ascmouse*ascmouse)+(ordmouse*ordmouse));
    contenitore_mc._alpha=100-distmouse
    xò x far funzionare le due cose nello stesso script dovresti usare un if, tipo se il muvieclip è draggato l'alpha del contenitore è uguale a (100-distanza) altrimenti è uguale a (100-distmouse)

    prova un pò!!
    ciaooo

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.