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

Discussione: Array

  1. #11
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    224
    Ai clip draggati non deve succedere niente. Quando lascio il mouse, devono rimanere dove l´utente li ha trascinati. Poi con la pressione di un tasto devo analizzare per ognuno dei 10 mc chiamati "celle" quale mc "segno" l´utente ha trascinato sopra gli mc "cella", per potere settare il valore della variabile val1 che ogni mc "cella" deve avere. Dopo di che questi valore verranno sommati.
    Quello che non riesco a fare é controllare, alla pressione del tasto che mc "segno" (precedentemente duplicati) é in collisione con il mc "cella. Spero di essere stato chiaro. Grazie comunque per l´attenzione

  2. #12
    metti i tuoi clip in due array, es: arrayCelle e arraySegni e poi fai un doppio ciclo for al rilascio del pulsante:

    codice:
    pulsante.onRelease = function() {
    	for (i=0; i<arrayCelle.length; i++) {
    		for (j=0; j<arraySegni.length; j++) {
    			if (arrayCelle[i].hitTest(arraySegni[j])) {
    				//qui piazzi il codice che vuoi
    			}
    		}
    	}
    };


    per chiarirti le idee (o complicartele ) prova questo codice d'esempio:

    codice:
    arrayCelle = new Array();
    arraySegni = new Array();
    
    //creo le celle
    for (i=0; i<10; i++) {
    	_root.createEmptyMovieClip("cella"+i, i);
    	_root["cella"+i]._y = 200;
    	_root["cella"+i]._x = 5+55*i;
    	_root["cella"+i].clipSovrapposti = new Array();
    	disegnaCella(_root["cella"+i], "cella "+i);
    	arrayCelle.push(_root["cella"+i]);
    }
    
    //creo i segni +
    for (i=0; i<10; i++) {
    	_root.createEmptyMovieClip("segno_più"+i, i+10);
    	disegnaSegno(_root["segno_più"+i], "+"+i);
    	_root["segno_più"+i]._y = 50;
    	_root["segno_più"+i]._x = 5+55*i;
    	arraySegni.push(_root["segno_più"+i]);
    }
    
    //creo i segni =
    for (i=0; i<10; i++) {
    	_root.createEmptyMovieClip("segno_uguale"+i, i+20);
    	disegnaSegno(_root["segno_uguale"+i], "="+i);
    	_root["segno_uguale"+i]._y = 80;
    	_root["segno_uguale"+i]._x = 5+55*i;
    	arraySegni.push(_root["segno_uguale"+i]);
    }
    
    //creo i segni -
    for (i=0; i<10; i++) {
    	_root.createEmptyMovieClip("segno_meno"+i, i+30);
    	disegnaSegno(_root["segno_meno"+i], "-"+i);
    	_root["segno_meno"+i]._y = 110;
    	_root["segno_meno"+i]._x = 5+55*i;
    	arraySegni.push(_root["segno_meno"+i]);
    }
    
    //creo il pulsante
    _root.createEmptyMovieClip("pulsante", 40);
    pulsante._x = 250;
    pulsante._y = 300;
    disegnaCella(_root.pulsante, "pulsante");
    
    //imposto azioni pulsante
    pulsante.onRelease = function() {
    	for (i=0; i<arrayCelle.length; i++) {
    		var toccato = false;
    		trace("\r"+arrayCelle[i]._name+" è toccata da:");
    		for (j=0; j<arraySegni.length; j++) {
    			if (arrayCelle[i].hitTest(arraySegni[j])) {
    				trace(arraySegni[j]._name);
    				toccato = true;
    			}
    		}
    		if (!toccato) {
    			trace("nessun clip");
    		}
    	}
    };
    
    //rendo i segni draggabili
    for (i=0; i<arraySegni.length; i++) {
    	arraySegni[i].onPress = function() {
    		this.startDrag(false);
    	};
    	arraySegni[i].onRelease = function() {
    		this.stopDrag();
    	};
    }
    
    //funzioni per disegnare
    function disegnaCella(clip, testo) {
    	with (clip) {
    		beginFill(0xCCCCCC, 100);
    		lineStyle(0, 0x000000, 100);
    		lineTo(50, 0);
    		lineTo(50, 20);
    		lineTo(0, 20);
    		lineTo(0, 0);
    		endFill();
    	}
    	clip.createTextField("nome", 0, 0, 0, 50, 20);
    	clip.nome.selectable = false;
    	clip.nome.text = testo;
    }
    function disegnaSegno(clip, s) {
    	with (clip) {
    		beginFill(0xCCCCCC, 100);
    		lineStyle(0, 0x000000, 100);
    		lineTo(20, 0);
    		lineTo(20, 20);
    		lineTo(0, 20);
    		lineTo(0, 0);
    		endFill();
    	}
    	clip.createTextField("nome", 0, 0, 0, 20, 20);
    	clip.nome.selectable = false;
    	clip.nome.text = s;
    }
    [Il mio sito V2]
    ___________________
    I.m.The.Magic.Man

  3. #13
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    224
    Ho visto adesso il codice che mi hai scritto. Innanzittutto grazie, adesso ho una gran mole di script da studiarmi (bene, bene...). Adesso provo e poi ti faccio sapere.

  4. #14
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    224

    Stupendo

    Nn é proprio quello che dovevo fare io, ma mille volte meglio. Con questo script posso creare un´animazione molto piú "carina" e di impatto di quanto non avessi in testa all´ínizio. Grazie ancora per l´aiuto.

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.