Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Duplicazione

  1. #1
    Utente di HTML.it L'avatar di Neocron
    Registrato dal
    Jul 2002
    Messaggi
    524

    Duplicazione

    codice:
    numero = 5;
    numero_partenza = 0;
    
    while (numero_partenza <= numero){
    
    duplicateMovieClip(_root.base,numero,numero);
    y_duplicazione = 19.5;
    x_duplicazione = 5;
    _root.numero._y = y_duplicazione * numero;
    _root.numero._x = x_duplicazione;
    
    numero_partenza += 1;
    
    }
    ma che sbaglio???
    non duplica nulla.... help

    se possibile potee darmi una spiegazione dettagliata del mio errore con le possibili alternative?
    grazie infinite . :-)

  2. #2
    La soluzione correttà è questa:
    numero = 5
    y_duplicazione = 19.5;
    x_duplicazione = 5;

    for (var i = 1; i<=numero ; i++) {
    duplicateMovieClip ("base", "base"+i, i);
    _root["base" + i]._y = y_duplicazione * i;
    _root["base" + i]._x = x_duplicazione;
    }

    Dovrebbe funzionare.
    Il problema nel tuo script è che hai usato sempre lo stesso nome per tutti i mc duplicati.

    Se ti dà problemi controlla bene i percorsi.

    Ciao
    Divide at Impera

    Se mi vuoi visitare Milano con il tuo cellulare vai su infomilano.mobi

  3. #3
    Utente di HTML.it L'avatar di Neocron
    Registrato dal
    Jul 2002
    Messaggi
    524
    codice:
    numero = 5;
    numero_partenza = 0;
    
    y_duplicazione = 19.5;
    x_duplicazione = 5;
    
    while (numero_partenza <= numero){
    
    duplicateMovieClip(_root.base,numero_partenza,1);
    _root.numero_partenza._y = y_duplicazione * numero_partenza;
    _root.numero_partenza._x = x_duplicazione;
    
    numero_partenza += 1;
    
    }
    allora tecnicamente in questo modo dovrebbe rifunzionare, ed effettivamente me ne sono accorto solo ora dell'errore, ora il numero dei clip è dinamico, una volta stampati gli imposto la posizione ...

    Questo è l'output dellelenco oggetti:
    codice:
    Livello #0: Fotogramma=1
      Clip filmato: Fotogramma=1 Target="_level0.base"
        Clip filmato: Fotogramma=1 Target="_level0.base.instance1"
          Forma:
      Clip filmato: Fotogramma=1 Target="_level0.0"
        Clip filmato: Fotogramma=1 Target="_level0.0.instance2"
          Forma:
      Clip filmato: Fotogramma=1 Target="_level0.1"
        Clip filmato: Fotogramma=1 Target="_level0.1.instance3"
          Forma:
      Clip filmato: Fotogramma=1 Target="_level0.2"
        Clip filmato: Fotogramma=1 Target="_level0.2.instance4"
          Forma:
      Clip filmato: Fotogramma=1 Target="_level0.3"
        Clip filmato: Fotogramma=1 Target="_level0.3.instance5"
          Forma:
      Clip filmato: Fotogramma=1 Target="_level0.4"
        Clip filmato: Fotogramma=1 Target="_level0.4.instance6"
          Forma:
      Clip filmato: Fotogramma=1 Target="_level0.5"
        Clip filmato: Fotogramma=1 Target="_level0.5.instance7"
          Forma:
    Allora esistono... il problema potrebbe derivare dal fatto che tutti
    i movieclip vengano messi uno sopra l'altro. In questo caso come mai
    non viene cambiata a posizione?

    spero di avere al piu' presto un aiutozzo :-)))

    Riguardo al tuo codice

    Benissimo grazie, funge bene, ma vorrei capire perchè il mio non funge :'-(, una domanda,
    codice:
    _root["base" + i]._y =
    come mai le parentesi quadre?
    :-P

  4. #4
    Vengono messi uno sopra l'altro xchè hai messo che devono essere creati tutti sul livello 1:

    duplicateMovieClip(_root.base,numero_partenza,1);

    Infatti quell'1 è il livello sul quale verrà creato il nuovo mc.
    Se anche lì metti un numero che crese dinamicamente ( numero_partenza ) il problema è risolto.
    Divide at Impera

    Se mi vuoi visitare Milano con il tuo cellulare vai su infomilano.mobi

  5. #5
    Utente di HTML.it L'avatar di Neocron
    Registrato dal
    Jul 2002
    Messaggi
    524
    lo fatto ma non funge...
    codice:
    numero = 5;
    numero_partenza = 0;
    
    y_duplicazione = 19.5;
    x_duplicazione = 5;
    
    while (numero_partenza <= numero){
    
    nome_duplicazione = 'base' + numero_partenza;
    duplicateMovieClip(_root.base,numero_partenza,numero_partenza);
    _root.nome_duplicazione ._y = y_duplicazione * numero_partenza;
    _root.nome_duplicazione ._x = x_duplicazione;
    
    numero_partenza += 1;
    
    }
    Riguardo il tuo codice

    Benissimo grazie, funge bene, ma vorrei capire perchè il mio non funge :'-(, una domanda,

    codice:
    _root["base" + i]._y =
    come mai le parentesi quadre?
    :-P

  6. #6
    _root["base" + i]

    ha le parentesi quadre xchè per puntare a un mc il cui nome è dinamico, come in questo caso (base1, base2, base3...) si deve usare questa sintassi che è di Flash MX se tu sei abituato alla versione 5 avresti utilizzato eval().
    Divide at Impera

    Se mi vuoi visitare Milano con il tuo cellulare vai su infomilano.mobi

  7. #7
    Utente di HTML.it L'avatar di Neocron
    Registrato dal
    Jul 2002
    Messaggi
    524
    1) sei molto bravo!
    2) grazie infinite il problema era quello :-)
    3)sei un amicozzo :-)

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.