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

    Grigle Con I Cicli Nidificati

    Vorrei mettere sul filmato una griglia di 5 *5 movieclips duplicati secondo un array con i nomi degli stati.


    Il movie clip di base si chiama itemstati. E lo scrip seguente l'ho messo sul mc.
    onClipEvent (load) {
    xstart = this._x;
    ystart = this._y;
    spacing = 1;
    nomistati = ["Francia", "Australia", "Norvegia", "Belgio", "Liechtestein", "Italia", "Spagna", "Portogallo", "Norvegia", "Svezia", "Finlandia", "Lituania", "Lettonia", "Estonia", "Polonia", "Ungheria", "Rep Ceca", "Slovacchia", "San Marino", "Vaticano", "Maldive", "Egitto"];
    ordinestati = nomistati.sort();
    numerodistati = nomistati.length;
    var i = -1;
    var r = 1;
    while (++r<=5) {
    j = 1;
    while (++j<=5) {
    while (++i<numerodistati) {
    stato = "itemstati"+i;
    itemstati.duplicateMovieClip(stato, i);
    this[stato].text = ordinestati[i];
    }
    this[stato]._x = xstart*r+spacing;

    }
    this[stato]._y = ystart*j+spacing;
    }
    }



    Il problema con i cicli è che non funziona. Il ciclo più interno dovrebbe duplicarmi tutti mc per i nomi degli stati. Il loop secondo dovrebbe spostarmi orrizontalmente di un tot i movie clips e il terzo spostarmi i clips per un tot in verticale. Ma non funziona. dovrei forse invertire i loops oppure mettere tutte le funzioni all'interno del ciclo più profondo? Non capisco se il procedimento è correto. Qualcuno può aiutarmi. Grazie

  2. #2
    Non puoi mettere il codice sulla timeline principale o comunque da un'altra parte? Forse mi sbaglio, ma non credo tu possa duplicare un mc direttamente dall'mc stesso. Poi non ho ben capito come vuoi fare la griglia (gli stati sono 22 mentre le celle 25), né la necessità di 3 cicli. Spiegati meglio che sono un pò duro io
    Comuqnue, una cosa del genere fa al caso tuo?
    codice:
    xstart = _root.itemstati._x; 
    ystart = _root.itemstati._y; 
    spacing = 1; 
    h = 0;
    nomistati = ["Francia", "Australia", "Norvegia", "Belgio", "Liechtestein",
    "Italia", "Spagna", "Portogallo", "Norvegia", "Svezia", "Finlandia",
    "Lituania", "Lettonia", "Estonia", "Polonia", "Ungheria",
    "Rep Ceca", "Slovacchia", "San Marino", "Vaticano", "Maldive", "Egitto"]; 
    numerodistati = nomistati.length; 
    ordinestati = nomistati; 
    ordinestati.sort();
    grid_rows = 5;
    grid_cols = 5;
    for (i=0;i<grid_rows;i++) {
    	for (j=0;j<grid_cols;j++) {
    		h++; 
    		_root.itemstati.duplicateMovieClip("itemstati"+h, h);
    		_root["itemstati"+h]._x = xstart*(j+1)+spacing;
    		_root["itemstati"+h]._y = ystart*(i+1)+spacing;
    		_root["itemstati"+h].text = ordinestati[h]; 
    	}
    }
    E' molto grossolana ma... tanto per capire se ho capito cosa vuoi fare

  3. #3
    L'effetto è che voglio mettere in una griglia come tanti bottoncini i nomi degli stati e non solo in verticale o in orrizontale. So che gli stati erano 22 ma alla fine saranno molto di più.
    Ci ho pensato su e questo script funziona meglio di prima. Ma il primo quadrato non lo vede. Ma la mia idea è questa ciao grazie




    onClipEvent (load) {
    gridx = 40;
    gridy = 40;
    nomistati = ["Francia", "Australia", "Norvegia", "Belgio", "Liechtestein", "Italia", "Spagna", "Portogallo", "Norvegia", "Svezia", "Finlandia", "Lituania", "Lettonia", "Estonia", "Polonia", "Ungheria", "Rep Ceca", "Slovacchia", "San Marino", "Vaticano", "Maldive", "Egitto"];
    ordinestati = nomistati.sort();
    numerodistati = nomistati.length;
    var i = -1;
    for (var r = -1; r<5; r++) {
    for (var j = -1; j<5; j++) {
    stato = "itemstati"+i;
    itemstati.duplicateMovieClip(stato, i);
    this[stato].text = ordinestati[i];
    this[stato]._x = gridx*j;
    this[stato]._y = gridy*r;
    i++;
    }
    }
    }

  4. #4
    Grazie per il suggerimento adesso funziona tutto. Sei stato molto gentile. Al posto dell'r -1 ho messo 0 e adesso ho una griglia perfetta di 5 mc per 5 mc con sopra i nomi degli stati. GRAZIEEEEEEEEEEEEE

  5. #5

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.