Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 44
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    come si gestiscono gli array bidimensionali?

    Io ho un array che non riesco a gestire che si crea con questo script:

    //PEZZO CHE SALVA IN UN ARRAY BIDIMENSIONALE le coordinate dei vari punti del disegno
    _root.MouseMovements[cnt].push({x:_root._xmouse,y:_root._ymouse}); //FINE CREAZIONE ARRAY BIDIMENSIONALE...

    //tentativo di visualizzare le coordinate salvate in campo dinamico testo
    testo.text=_root.MouseMovements;
    //VISUALIZZA IN testo solo le coppie [Object,object] del disegno salvato e non le
    coordinate vere e proprie (tipo 12,4 ecc)

    Come faccio a visualizzare chiaramente le chivi e i valori di questo maledetto array bidimensionale?


    GRAZIE AL MONDO

    e GRAZIE ITALIA!

  2. #2
    Non riesco a capire come lo crei solo con quello, anche perchè all'inizio non viene neanche definito in quanto array.
    Comunque un array bidimensionale è ad esempio cosi:
    rubrica = new Array();
    rubrica = [["Pippo","24512"],["Pluto","45127"],["Paperino","12614"],["Minnie","451247"]]
    // poi lo usi e visualizzi con la doppia quadra
    trace (rubrica[0])
    // per vedere "Pippo","24512"
    trace (rubrica[0][0])
    // per vedere "Pippo"

  3. #3
    per visualizzare i contenuti di un'array multidimensionale puoi fare:

    codice:
    for (i = 0; i < tuarray.length; i++) {
         for (k= 0; k < tuarray[i].length; k++) {
              trace (tuarray[i][k]);
        }
    }

    Più specificatamente, se vuoi memorizzare i movimenti del mouse, potresti fare qualcosa del genere:
    codice:
    MouseMov = new Array();
    var tracciaMouse:Object = new Object();
    tracciaMouse.onMouseMove = function () { 
    	MouseMov.push({thex:_root._xmouse, they:_root._ymouse}); 
    };
    Mouse.addListener(tracciaMouse);
    Per visualizzare il contenuto dell'array, poi:
    codice:
    for (i = 0; i < MouseMov.length; i++) {
    	trace ("xyelem. "+i+": "+MouseMov[i].thex+" / "+MouseMov[i].they);
    }

  4. #4
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    stasera lo provo subitooo

    THANKS!


  5. #5

  6. #6
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Purtroppo nn mi funge :(

    Ti riporto per intero il codice che funziona per quanto riguarda il disegno ma non per la memorizzazione e visualizzazione delle coordinate dei punti creati.

    //FUNZIONE CHE PERMETTE IL DISEGNO AL MUOVERE DEL MOUSE


    var MouseMovements = [];
    var cnt = 0;
    var myColor = 0x000000;
    var myLineSize = 6;
    //TAVOLETTA COLORI...
    //myColorPicker.setMuestraColor(3342438);
    //FINE TAVOLETTA COLORI
    _root.onMouseDown = function() {
    if (_root._xmouse <= 800) {
    var startX = _root._xmouse;
    var startY = _root._ymouse;

    _root.MouseMovements[cnt] = [];
    _root.MouseMovements[cnt].push({x:startX,y:startY});
    _root.lineStyle( _root.myLineSize, _root.myColor, 100 );
    _root.moveTo( startX, startY );
    _root.onMouseMove = recordMouse;

    }
    }
    //FUNZIONE CHE PERMETTE IL DISEGNO AL MUOVERE DEL MOUSE

    //FUNZIONE CHE PERMETTE LO STACCO DELLA PENNA...

    _root.onMouseUp = function() {
    _root.onMouseMove = null;
    cnt++;
    }
    // FINE FUNZIONE DI STACCO

    //FUNZIONE CHE PERMETTE LA VISUALIZZAZIONE DEI PASSAGGI DEL MOUSE
    recordMouse = function() {
    _root.lineTo( _root._xmouse, _root._ymouse );


    //PEZZO CHE SALVA IN UN ARRAY le coordinate dei vari punti del disegno
    _root.MouseMovements[cnt].push({x:_root._xmouse,y:_root._ymouse,color:_root .myColor, size:_root.myLineSize});
    //FINE PEZZO MEMORIZZATORE...

    //tentativo di visualizzare le coordinate in variabile_da_mandare_al_php!
    ARRAYNORMALE = _root.MouseMovements;
    //VISUALIZZA IN TESTO le coppie [object,object] del disegno salvato.
    testo.text=_root.MouseMovements;
    //FINE VISUALIZZAZIONE IN TESTO..
    for(var i = 0; i < _rootMouseMovements[cnt].length; i++)
    {
    temp.push(_root.MouseMovements[cnt][i]._x + "," + _root.MouseMovements[cnt][i]._y);

    }
    trace(temp);
    var variabilecoordinate = temp.join("|");

    }
    //FINE FUNZIONE MEMORIZZAZIONE PASSAGGI DEL MOUSE


    me lo modificheresti opportunatamente in modo che possa salvare in coordinatepunti le coordinate ripristinabili poi in un secondo momento?

    GRAZIE INFINITE SE PUOI



    Con il tuo cod non mi disegnava piu' nulla e soprattutto il trace non stampava a video nulla

  7. #7
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Mi puoi spiegare dove fagiano con il tuo cod?

    //Cod. per memorizzare i movimenti del mouse:
    //Questo io lo metto nel primo fotogramma...

    MouseMov = new Array();
    var tracciaMouse:Object = new Object();
    tracciaMouse.onMouseMove = function () {
    MouseMov.push({thex:_root._xmouse, they:_root._ymouse});
    };
    Mouse.addListener(tracciaMouse);

    //Poi sia che metta quest'altro pezzo di cod. nel primo fotogramma sia che lo metta in un action on release di un bottone.. non mi visualizza in trace nulla

    //Per visualizzare il contenuto dell'array, poi:
    for (i = 0; i < MouseMov.length; i++) {
    trace ("xyelem. "+i+": "+MouseMov[i].thex+" / "+MouseMov[i].they);
    }

    Dove fagiano alla grande... pasavign?

    1000 GRAZIE!


  8. #8
    Vai nel mio garage (il link lo trovi sotto la mia firma)...
    In fondo, ho aggiunto un nuovo esempio: drawingrec.swf

    Scaricatelo, lì c'è tutto quello che ti serve.

  9. #9
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Ho provato a scaricare il file .fla che mi hai indicato..

    Ma cercandolo di aprire con flash mx mi appare un popup "FORMATO FILE INATTESO" e si chiude...



    Come possiamo fare?

    Grazie comunque


  10. #10
    Ah!
    è in formato Flash 8.
    Tu hai sicuramente una versione precedente...

    Poco male, il codice sta tutto sul 1° ed unico frame del movie + poche righe associate ai due pulsanti; CLEAR e REPLAY.

    codice:
    sul 1° FRAME
    MouseMov = new Array();  // array che conterrà le coordinate del mouse
    //
    this.isDrawing = false;  // flag che indica se attiva la funzione disegno
    //
    this.createEmptyMovieClip("disegno", this.getNextHighestDepth());
    
    // definisco il "listener" per catturare le azioni del mouse
    var tracciaMouse:Object = new Object();
    
    //  se il pulsante sx del mouse è premuto
    tracciaMouse.onMouseDown = function () { 
        if (!this.isDrawing) {
        	this.isDrawing = true;
    		//this.createEmptyMovieClip("disegno", this.getNextHighestDepth());
        	disegno.lineStyle(2, 0x000000, 100);
        	disegno.moveTo(_xmouse, _ymouse);
    		MouseMov.push({thex:_root._xmouse, they:_root._ymouse});
    	}
    };
    // se il mouse si sposta
    tracciaMouse.onMouseMove = function() {
        if (this.isDrawing) {
            disegno.lineTo(_xmouse, _ymouse);
    		MouseMov.push({thex:_root._xmouse, they:_root._ymouse}); 
        }
        updateAfterEvent();
    };
    // se il pulsante mouse viene rilasciato
    tracciaMouse.onMouseUp = function () { 
        this.isDrawing = false;
        // il trace, naturalmente, serve solo in fase di test...
    	for (i = 0; i < MouseMov.length; i++) {
    		trace ("xyelem. "+i+": "+MouseMov[i].thex+" / "+MouseMov[i].they);
    	}
    };
    // funzione per tracciare il contenuto dell'array
    function replay() { 
    	this.createEmptyMovieClip("traccia", this.getNextHighestDepth());
    	traccia._x = disegno._x + 5;
    	traccia._y = disegno._y + 5;
        traccia.lineStyle(2, 0xFF0000, 100);
        traccia.moveTo(MouseMov[0].thex, MouseMov[0].they);
    	for (i = 1; i < MouseMov.length; i++) {
    		traccia.lineTo(MouseMov[i].thex, MouseMov[i].they);
    	}
    };
    // attivo il "listener" 
    Mouse.addListener(tracciaMouse);
    //
    associato al pulsante CLEAR
    on (release) {
    	disegno.removeMovieClip();
    	traccia.removeMovieClip();
    	MouseMov = new Array();
    	createEmptyMovieClip("disegno", this.getNextHighestDepth());
    }
    associato al pulsante REPLAY
    on (release) {
        this.isDrawing = false;
    	replay();
    }

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.