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

    Problema con ciclo multiplo

    Ciao a tutti
    dovrei generare una griglia fatta di 25 quadrati e per far questo vorrei usare un ciclo doppio:

    for (z=0; z<5; z++) {
    for (i=0; i<5; i++) {
    attachMovie("foto", "foto"+z+i, z+i);
    _root['foto'+z+i]._x = i*60;
    _root['foto'+z+i]._y = z*60;
    }
    }

    Contando che attacco un mc concatenato che è un quadrato di 50*50, i mio risulato è che appaiono 10 quadrati (5 orizzontali e 5 verticali)... mi sfugge qualcosa ma non riesco ad individuare cosa... qualcuno mi aiuta?
    ciao e grazie

  2. #2
    prova così:

    codice:
    stop();
    counter = 0;
    for(z=0; z<5; z++){
    	for(i=0; i<5; i++){
    		counter++;
    		attachMovie("foto", "foto"+counter, counter);
    		_root['foto'+counter]._x = i*60;
    		_root['foto'+counter]._y = z*60;
    	}
    }

  3. #3
    Grande funziona..
    Ti ringrazio

  4. #4

  5. #5
    [QUOTE

    P.S: spero tu abbia capito il xchè [/QUOTE]


    :master:
    a dir la verità mica tanto, penso se ne sovrapponessero alcuni ma non sono sicuro...

    Se hai voglia e tempo apprezzerei molto la spiegazione...

    Inoltre visto che ci sono provo a chiederti questa:

    Mettiamo che io invece di avere un numero prestabilito di 25 quadrati ne avessi un numero variabile (q) e dovessi fare la stessa cosa, avendo come unica imposizione quella delle 5 colonne... in teoria dovrei dirgli che ogni 5 azzerasse il valore x e incrementasse di 60 quello y...

    Ciao e grazie

  6. #6
    potresti fare una semplice divisione, cioè calcolando il numero di righe dividento il tuo totale x le colonne... comunque io di solito non faccio così o x lo meno preferisco un singolo for() nel quale calcolo solo le colonne ed il totale e quindi uso all'interno del for() una condizione del genere:

    if(indice !=0 && (indice%colonne) == 0)

    modifica le variabili che assegneranno le coordinate...


  7. #7
    Non conosco la sintassi che hai usato però ci sono arrivato così, forse mi sono complicato la vita ma funziona.


    codice:
    q = 19;
    colonna = 0;
    riga = 0;
    for (i=0; i<q; i++) {
    	if (colonna==5) {
    		colonna=1;
    		riga=riga+1;
    	} else {
    		colonna++;
    	}
    	attachMovie("foto", "foto"+i, i);
    	_root['foto'+i]._x = 60*colonna;
    	_root['foto'+i]._y = 60*riga;
    }
    Per curiosità, tu come l'avresti fatto con la sintassi 'if(indice !=0 && (indice%colonne) == 0) '

    Ciao e grazie

  8. #8
    if(indice !=0 && (indice%colonne) == 0)

    controllo che sia diverso a 0, quindi evitando il primo risultato e con:
    (indice%colonne) == 0

    controllo quando indice/colonne mi da come resto 0.

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.