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

    Problema duplicateMovieClip

    Ciao a tutti,

    Ho la necessità di duplicare per x volte un clip che si trova sulla _root mediante un clip "controller"; ovvero un movieClip vuoto con al suo interno l'AS che gestisce la duplicazione ed i controllo e settaggio di queste copie. Il prolema è che non funziona. Semplificando il mio codice al minimo ho notato che proprio non mi crea i duplicati. Sicuramente sto sbagliando aprocio.

    Il codice, ridotto all'osso, che si trova all'interno del clip "controller" è il seguente:


    Clip "controller" - Frame 1
    codice:
    i++
    duplicateMovieClip (_root.mc0, "mc"+i, i);

    Clip "controller" - Frame 2
    codice:
    setProperty ("mc"+i, _x, random(200));
    setProperty ("mc"+i, _y, random(300));
    Clip "controller" - Frame 3
    codice:
    if (i>4){
    	stop ()
    }else{
    	gotoAndPlay(1);
    }

    Il clip da duplicare si chiama ovviamente "mc0" e si trova, così come il clip controller, in _root.
    Versione: Flash Mx (6).

    Qualcuno sa dove sbaglio?

    Grazie

    Ciao

  2. #2
    Mi sembra corretto...non dubplica?
    Prova in debug, oppure prova a fare un trace sul nome del movieclip che hai copiato.

  3. #3
    allora, come prima cosa, non hai inizializzato "i"

    poi sono sbagliati i percorsi.

    nella timeline principale inizializza i a zero

    codice:
    i = 0;
    poi correggi il codice del controller così:

    frame 1
    codice:
    _root.i++;
    a = _root.i;
    duplicateMovieClip(_root.mc0, "mc"+a, a);
    trace(_root.i);
    trace(_root["mc"+a]);
    frame 2
    questo lo cambierei con la sintassi più nuova e corretta
    codice:
    _root["mc"+a]._x = random(200)
    _root["mc"+a]._y = random(300)
    frame 3
    codice:
    if (a>4) {
    	stop();
    } else {
    	gotoAndPlay(1);
    }
    Ecco fatto, così funziona l'ho provato !

    Lorenza

  4. #4
    Grazie Lorenza.
    Sono riuscito a farlo funionare, anche se ho dovuto aggiustare leggermente il codice che hai postato. Per qualché ragione il contatore _root.i (e quindi anche a ) non si incrementava ma rimaneva sempre a zero.
    Sai mica perché ciò accade?

    Ho cmq ovviato al questo problema aggiungendo un frame all'inizio dell'animazione "controller" dove definisco la variabile a (senza quindi ricorrere a _root.i) e incrementandola di 1 nel frame 2. Così funziona.

  5. #5
    non so perchè a te non funzioni
    io l'ho provato e funziona tutto perfettamente: i si incrementa.

    comunque se hai ovviato come hai detto va bene, l'importante è che funzioni

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.