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

    draggo e movieclip mi segue..?

    Ciao! ho un problema che non riesco a risolvere data la mia conoscenza basilare di actionscript..dunque, ho creato un elemento draggabile e vorrei associare al suo grado di spostamento, il controllo della "testina" della linea temporale di un altro movie clip.

    qui la prova in fla con l'inizio dell'esercizio..
    www.marcelloascari.com/robe/prova_cursore.fla

    Un'altra cosa che ben non riesco a capire, é come mai pur cercando di fare i calcoli giusti, non riesco a definire l'area di scorrimento dell'elemento draggato, all'interno del rettangolo bordato quindi..i valori dovrebbero essere in ordine left, top, right e bottom..ma qualcosa non mi torna..

    grazie mille in anticipo per l'attenzione!
    :master: marx

  2. #2

    Re: draggo e movieclip mi segue..?

    Originariamente inviato da marxel123
    Ciao! ho un problema che non riesco a risolvere data la mia conoscenza basilare di actionscript..dunque, ho creato un elemento draggabile e vorrei associare al suo grado di spostamento, il controllo della "testina" della linea temporale di un altro movie clip.

    qui la prova in fla con l'inizio dell'esercizio..
    www.marcelloascari.com/robe/prova_cursore.fla

    Un'altra cosa che ben non riesco a capire, é come mai pur cercando di fare i calcoli giusti, non riesco a definire l'area di scorrimento dell'elemento draggato, all'interno del rettangolo bordato quindi..i valori dovrebbero essere in ordine left, top, right e bottom..ma qualcosa non mi torna..

    grazie mille in anticipo per l'attenzione!
    :master: marx

    prova a mettere nel tuo codice mi pare mancasse this.

    codice:
    on (release) {
    this. stopDrag();
    }

    Trascina VIncolato

  3. #3
    ciao julio,
    purtroppo non funge..ossia, non cambia il risultato nella prova filmato...cribbio
    Per il collegamento del movie/sfera rossa al cursore, hai idea di come si potrebbe iniziare?

    grazie cmq!

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    intanto ti rispondo alla seconda questione... ho aperto il tuo fla... il codice corretto sarebbe questo

    codice:
    on (press) {
    	this.startDrag(false, 25, 350, 265, 350);
    }
    on (release, releaseOutside) {
    	this.stopDrag();
    }
    per la prima vediamo domani... che ora son proprio stanco

  5. #5
    Grandioso! funge..che bello, rischio GGG evitato stanotte
    a presto e grazie dan!

    marx

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    per quanto riguarda la prima questione, in pratica si tratta solo di applicare una proporzione al caso,
    in questo caso in effetti dobbiamo trovare una corrispondenza tra la posizione (_x) della barra, e il frame a cui mandare la testina dell'altro clip... per la proporzione abbiamo bisogno di quattro valori di cui tre noti e uno incognito... li troviamo facilmente consultando le proprietà e gli script che abbiamo realizzato finora

    per prima cosa però dobbiamo dare un nome di istanza ad entrambi i nostri clip, per semplicità li chiameremo "barra" e "palla", e poi la proporzione

    frame : barra._x = palla._totalframes : 265

    frame -> è quello che dobbiamo trovare, (perchè poi lo useremo per fare palla.gotoAndStop(frame);

    barra._x -> è la posizione "corrente" della barra

    palla._totalframes -> è una proprietà di sola lettura che indica il numero massimo di frames del clip palla

    265 -> è il massimo dello spostamento che può assumere _x, ce lo ritroviamo facilmente nel codice scritto in precedenza

    di conseguenza la formula per trovare il nostro frame incognito, diventerà

    frame = (barra._x*palla._totalframes)/265;

    siccome però la _x non parte da 0, va riportata a 0 sia nella posizione corrente che nel limite della posizione

    frame = ((barra._x-25)*palla._totalframes)/(265-25);

    inoltre, visto che abbiamo bisogno di un valore intero, dobbiamo aggiungere l'arrotondamento

    frame = Math.round(((barra._x-25)*palla._totalframes)/(265-25));

    ultima cosa, visto che il primo frame è pari a 1 e non a 0 (come si otterrebbe dalla formula precedente, nel caso iniziale), dobbiamo aggiungere una unità al calcolo precedente ottenendo la nostra formula finale

    frame = Math.round(((barra._x-25)*palla._totalframes)/(265-25))+1;

    ora il codice va aggiunto a quello precedente, ma bisogna prendere in considerazione il fatto che la formula per funzionare va reiterata nel tempo, cosa possibile grazie all'utilizzo dell'evento onEnterFrame, della classe MovieClip, riprendiamo il codice iniziale e montiamo quello appena ottenuto

    codice:
    on (press) {
    	this.onEnterFrame = function(){
    		var frame = Math.round(((this._x-25)*this._parent.palla._totalframes)/(265-25))+1;
    		this._parent.palla.gotoAndStop(frame);
    	}
    	this.startDrag(false, 25, 350, 265, 350);
    }
    on (release, releaseOutside) {
    	delete this.onEnterFrame;
    	this.stopDrag();
    }
    bada al fatto che così il codice va in proporzione rispetto allo spostamento della barra (più vado a destra, più la timeline di "palla" andrà a destra)
    per eseguire al contrario dovrebbe bastare (non son sicuro perche non posso provarlo) effettuare un altro passaggio in cui sottrarre frame a _totalframes

    codice:
    on (press) {
    	this.onEnterFrame = function(){
    		var temp = Math.round(((this._x-25)*this._parent.palla._totalframes)/(265-25))+1;
    		var frame = this._parent.palla._totalframes-temp;
    		this._parent.palla.gotoAndStop(frame);
    	}
    	this.startDrag(false, 25, 350, 265, 350);
    }
    on (release, releaseOutside) {
    	delete this.onEnterFrame;
    	this.stopDrag();
    }

  7. #7
    Wow! accidenti, che spiegazione dettagliata! purtroppo ora sn incasinato, che cé l'FFF a bologna..appena ritorno alla vita digitalsedentaria, mi applico!
    grazie mille intanto!

    marx

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.