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

    Duplicate MC con posizione casuale

    Buongiorno.

    Sullo stage principale ho una movieclip con istanza "ciccio" che nell'ultimo frame richiama la funzione "duplica":
    function duplica () {
    dup++;
    if (dup<150) {
    duplicateMovieClip("ciccio", "ciccio"+dup,dup);
    setProperty("ciccio"+dup,_x, posiz);
    }
    }


    dove "dup" indica il numero della nuova MC e del livello dove crearla bloccandone la copia una volta raggiunto il valore di 150 e "posiz" è una variabile che ne definisce la posizione. Per assegnare a "posiz" un valore casuale ho utilizzato il seguente script:
    posiz = 217+random(220);

    in modo tale da asseganre un valore compreso tra 217 e 437.
    Tutto questo funziona perfettamente. Adesso però, per necessità, ho inserito la movieclip "ciccio" all'interno di un'altra movieclip "combo", modificando come segue la funzione "duplica":
    function duplica () {
    dup++;
    if (dup<150) {
    duplicateMovieClip("_level0.combo.ciccio", "ciccio"+dup,dup);
    setProperty("ciccio"+dup,_x, posiz);
    }
    }


    In questo modo la duplicazione avviene sempre correttamente, ma la posizione rimane quella della movieclip originale.
    Sicuramente sbaglio qualcosa nella sintassi.
    Mi aiutate?

    Grazie.
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  2. #2
    A naso, direi che devi cambiare il percorso della variabile posiz e/o il riferimento al movieclip.
    La variabile posiz dov'è posizionata esattamente?

    Comunque potresti più semplicemente fare

    _root.combo['ciccio'+dup]._x = random(220)+217

  3. #3
    Tutto risolto.
    Ho modificato setProperty("ciccio"+dup,_x, posiz); in setProperty("combo.ciccio"+dup,_x, posiz); ed adesso funziona.
    Grazie lo stesso per la disponibilità.
    Ne avrò sicuramente bisogno in futuro.
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  4. #4
    Sbagliavi appunto il percorso relativo al movie clip
    Però io ti consiglierei di iniziare ad usare la nuova sintassi, ormai il setProperty non è praticamente più usato secondo me

    Alla prossima

  5. #5
    Adesso ci provo.
    Il fatto è che, per una serie di motivi, sto realizzando questo sito con flash 5, e quindi parecchi comandi che utilizzo sono obsoleti.
    Dove posso (o meglio dove sono in grado) utilizzo la nuova sintassi, ma l'action scripting è ancora pieno di misteri per il sottoscritto...
    Ancora grazie
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  6. #6
    Fatto.
    Funziona a meraviglia.
    Grazie.
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  7. #7
    Beh già in Flash 5 si è passati dal setProperty iniziava ad essere poco usato

    Guarda, penso che sulla maggior parte delle guide e tutorial in giro ormai trovi la sintassi più 'recente', non saprei indicarti un link preciso

    Comunque è semplice, ad esempio il tuo

    setProperty("combo.ciccio"+dup,_x, posiz);

    diventerebbe

    _root.combo['ciccio'+dup]._x = posiz

    All'inizio magari può sembrare un po' ostico, però secondo me poi quando ti abitui "vai più veloce"

  8. #8
    Non è assolutamente ostico come dici, nel senso che ho già preso una certa "dimestichezza" con la nuova sintassi, infatti, ad esempio, ho già abbandonato il "vecchio" tellTarget per mandare in play una movieclip.

    _level0.pippo.prova.play();

    al posto di

    _tellTarget ("_level0.pippo.prova") {
    play ();
    }


    La filosofia è esattamente la stessa, soltanto che, in tutta sincerità, finora non ho usato molto i comandi per settare le proprietà, ed è anche da poco che uso flash MX con relativo approfondimento degli action script (argomento tabù fino a qualche tempo fa).
    Ma ho buone prospettive per il futuro...
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  9. #9
    Beh il "può sembrare ostico" era in generale, anche io mi sono trovato bene, però come saprai ognuno ha i suoi tempi di apprendimento e qualcuno magari incontra difficoltà ad abituarsi ad una sintassi nuova :bubu:
    Flash Mx ha introdotto molte novità, però la sintassi dei comandi è sempre la stessa, per cui per quello non avrai problemi, al massimo avrai qualche 'scontro' con i nuovi comandi le prime volte, ma una volta capito bene il funzionamento non avrai problemi ...e poi c'è sempre il dizionario di actionscript ed eventualmente il forum che possono aiutare

    Alla prossima e buon lavoro

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.