Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16

Discussione: Drag&Drop

  1. #11
    si una cosa del genre

  2. #12
    evito giri di parole inutili. ti posto il codice:

    scritto nella _root.

    codice:
    // Definizione degli array: Associazioni, Testi degli oggetti, Testi dei target, Risultato.
    _global.assoc = new Array(0, 1, 3, 4, 2);
    _global.drop_txt = new Array("drop1", "drop2", "drop3", "drop4", "drop5");
    _global.drag_txt = new Array("1", "2", "4", "5", "3");
    _global.result = new Array(assoc.length);
    // Inizializzazione interfaccia in base all'array di associazione.
    for (i in assoc) {
    	index = assoc.length-i-1;
    	if (index>0) {
    		// Creazione degli oggetti e dei target necessai.
    		duplicateMovieClip("drop0", "drop" add index, index);
    		duplicateMovieClip("drag0", "drag" add index, (index+assoc.length));
    		// Posizionamento degli oggetti e dei target alle coordinate corrette.
    		eval("drop" add index)._y = eval("drop" add (index-1))._y+eval("drop" add (index-1))._height+20;
    		eval("drag" add index)._y = eval("drop" add index)._y;
    	} else {
    		// Porta l'oggetto e il target "madre" ad un livello appropriato.
    		eval("drop" add index).swapDepths(index);
    		eval("drag" add index).swapDepths(index+assoc.length);
    	}
    	// Assegnazione di una variabile identificatrice.
    	eval("drag" add index).id = index;
    	// Associazione dei testi agli oggetti e ai target relativi.
    	eval("drag" add index).label.text = drag_txt[index];
    	eval("drop" add index).label.text = drop_txt[index];
    }
    delete i, index;
    /*
    ################################################################
                            :: PROTOTYPE ::
      Funzionamento: Controlla se l'oggetto è stato rilasciato sul
                     target corretto.
      
      Input: Nessuno.
      Output: TRUE se l'associazione è corretta.
              FALSE se l'associazione non è corretta.
    
    ################################################################
    */
    MovieClip.prototype.checkdrop = function() {
    	count++;
    	// Controlla se tutti gli oggetti sono stati trascinati su un target.
    	if (count>=assoc.length) {
    		for (i in assoc) {
    			// Calcola il punteggio ovvero associazioni giuste tra oggetto e target.
    			points += result[i];
    			// Rimuove i target e gli oggetti dallo stage.
    			removeMovieClip(eval("drag" add i));
    			removeMovieClip(eval("drop" add i));
    		}
    		// Porta la casella di testo in una posizione visibile.
    		_root.report._x = 5;
    		// Scrive il report del test eseguito.
    		_root.report.htmlText = "           [b]- HAI TERMINATO IL TEST -[b]";
    		_root.report.htmlText += "______________________________";
    		_root.report.htmlText += "
    ";
    		_root.report.htmlText += " » RIASSUNTO DELLA PRESTAZIONE:";
    		_root.report.htmlText += " * Hai risposto correttamente a [" add points add "] su [" add result.length add "]";
    		_root.report.htmlText += " * Percentuale di successo [" add Math.round(points/result.length*100) add "%]";
    		_root.report.htmlText += "
    
    
    
    
    ";
    		_root.report.htmlText += "sw333t, th1z d3m0 r00lz du|>3. 
    C|b3rPu|\\]{ 0w|\\z'3d 4g41|\\ ...";
    	}
    	// Disabilita l'oggetto dopo che è stato trascinato su un target.
    	this.enabled = false;
    	// Output: true o false a seconda se l'associane è corretta o meno.
    	return (this.hitTest(eval("drop" add assoc[this.id])));
    };
    scritto dentro ai movieclip che trascino (dragX):
    codice:
    this.onPress = function() {
    	startDrag(this);
    };
    this.onRelease = function() {
    	stopDrag();
    	result[id] = checkdrop()
    };
    this.onReleaseOutside = function() {
    	stopDrag();
    	result[id] = checkdrop()
    };
    Sullo Stage ci sono 3 oggetti:
    1 movieclip con nome di istanza "drag0"
    1 movieclip con nome di istanza "drop0"
    1 casella di testo dinamica con nome di istanza "report"

    Entrambi i mc al loro interno contengono una casella di testo dinamica con nome di istanza "label"

  3. #13
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,322
    allora cominciamo da capo

    (scusa sono io che non mi spiego bene):gren:



    tu hai un array dove indentifichi determinati percorsi ok??

    quei percorsi cosa sono ???

    i clip che trascini
    o quelli in cui vengono rilasciati??

  4. #14
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,322
    sto guardando ma tante cosucce non le conosco

  5. #15
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,322
    scusa tanto non so aiutarti


  6. #16
    asd ... np dai. Ho risolto in un modo grezzo ma funzionale.

    Ho ciclato tutti i Mc target controllando se un Mc draggabile specifico si trovasse sopra. E' un processo un po pesante ma funziona per fortuna :metallica

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 © 2026 vBulletin Solutions, Inc. All rights reserved.