Visualizzazione dei risultati da 1 a 7 su 7

Discussione: ciclo for

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641

    ciclo for

    ciao,
    se io faccio un ciclo for con duplicateMovieClip:

    codice:
    for (k=0; k<5; k++) {
      duplicateMovieClip("mc", "mc"+[k],k+1);
      _root["mc"+k]._x = _root["mc"+k]._x + (k*10)
      _root["mc"+k].onPress = function(){
        this._x = -100;
      }
    }
    come faccio a far si che onPress oltre ad avere una nuova _x per il mc che clicco si spostino anche gli altri mc posizionati prima? Nel senso...se clicco mc2, come faccio a spostare mc0 e mc1 e lasciare fermi mc3 e mc4?

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    qualcuno mi può aiutare per favore?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    vi assicuro che non riesco proprio a trovare soluzione al mio problema.
    nessuno ha un'idea?

  4. #4
    la butto lì
    prova così

    for (k=0; k<5; k++) {
    duplicateMovieClip("mc", "mc"+[k],k+1);
    _root["mc"+k]._x = _root["mc"+k]._x + (k*10)
    _root["mc"+k].onPress = function(){
    this._x = -100;
    for (i=0; i<k; i++) {
    _root["mc"+i]._x = -100;
    }
    }
    }

    nn posso provarlo quindi nn so se funziona
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    prima di tutto grazie.

    ho provato come hai detto tu ma, se faccio il trace
    trace(_root["mc"+i]._x),
    mi restituisce undefined.

    ho provato a fare anche così:

    for (k=0; k<5; k++) {
    duplicateMovieClip("mc", "mc"+[k],k+1);
    _root["mc"+k]._x = _root["mc"+k]._x + (k*10)
    _root["mc"+k].onPress = function(){
    this._x = -100;
    trace(k)
    }
    }

    e mi da sempre undefined.
    non ho proprio idee!!!

  6. #6
    cioè la k nn la vede nella funzione??
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    no scusa, sono fusa. se faccio trace(k) mi da il valore dell'ultimo elemento del ciclo.

    ossia:

    for (k=0; k<5; k++) {
    duplicateMovieClip("mc", "mc"+[k],k+1);
    _root["mc"+k]._x = _root["mc"+k]._x + (k*10)
    trace("primo k: " + k)
    _root["mc"+k].onPress = function(){
    this._x = -100;
    trace("secondo k: " + k)
    }
    }


    il primo trace mi da:
    prima k: 0
    prima k: 1
    prima k: 2

    il secondo trace:
    seconda k: 3

    sto facendo tutto questo casotto perchè volevo che nell'onPress mi dicesse quale _root[mc_menu +k] avessi cliccato e che di conseguenza mi spostasse gli mc _root[mc_menu +k] con k inferiore a quella dell'elemento cliccato.

    ma...che io faccia click sul primo mc, sul secondo o sul terzo, il trace(k) all'interno dell onPress mi da sempre seconda k: 3

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.