Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    23

    Cambiare simbolo casualmente

    Ho creato un semplice animazione, dove un oggetto (un simbolo) fa un certo percorso.

    Adesso vorrei poter generare in modo casuale l'oggetto che deve compiere questo percorso. La parte di generazione casuale è semplice, ma non capisco come associare ogni volta un oggetto diverso.

    Spero di essere riuscito a spiegarmi.

    Uso Flash MX

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    23
    up

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    23
    Ma è così difficile che nessuno sa come si fa?

    Se è così qualcuno me lo dica, almeno cambio subito i miei progetti...

  4. #4
    Se ho capito bene cosa vuoi fare ti basta usare un oggetto contenitore e far muovere quello.

    In pratica metti tutti gli oggetti, uno per frame, all'interno del contenitore così ti basta usare un gotoAndStop() per selezionare l'oggetto.
    Radian Studios - Your Future, Our Present

    Orgoglioso sviluppatore di Php-stats dal 2004

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    23
    E' proprio quello che cercavo di fare.

    Però è sorto un altro problema che ho risolto con un espediente, ma che non capisco perchè succede.
    Ho creato un oggetto contenitore, con quattro oggetti diversi ai frame 1,2,3 e 4.
    Ho creato una variabile che prende random(4)+1, di nome Durata.
    Ho messo come azione a questo oggetto contenitore:

    onClipEvent (load) {
    gotoAndStop(_level0.Durata);
    }

    Per monitorare il tutto, ho messo un trace(Durata).
    Però l'oggetto che viene visualizzato non corrisponde al valore di Durata, ma a Durata + 1. Ho risoltato traslando gli oggetti nel contenitore di una posizione a destra, ma non capisco perchè non funziona nell'altro modo.

  6. #6
    Random è deprecato, nel senso che c'è per compatibilità ma non dovrebbe più essere usato.

    Usa Math.random() invece che restituisce un valore casuale tra 0 e 1.

    Io ho fatto questa funzione:
    codice:
    function getRandomRange(startpos,endpos){
    return startpos+Math.round(Math.random()*(endpos-startpos));
    }
    Per avere un numero casuale tra 1 e 4 puoi usare Durata=getRandomRange(1,4);

    Per il fatto degli frame spostati di uno non so perchè succede... hai messo il trace direttamente nell'on(load)?

    Prova a mettere stop(); in ogni frame del contenitore.
    Radian Studios - Your Future, Our Present

    Orgoglioso sviluppatore di Php-stats dal 2004

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    23
    Ho buttato tutto e sono ripartito da capo, e adesso funziona tutto.

    Sicuramente proverò a fare le modifiche di codice sulla generazione casuale come suggerisci tu.

    Grazie per l'aiuto.

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.