Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Problema Random

  1. #1

    Problema Random...E devo consegnare oggi!!!

    Ciao Gente...
    ho risolto il un problema e se ne presenta subito un altro...
    Spero possiate venirmi inconro tenendo presente che mastico poco actionscript.

    Ho 92 clip chiamati a1, a2, a3 etc.. che vengono avviati casualmente in random da un pulsante al quale assegno questo script:

    on (release) {
    this.onEnterFrame = function() {
    miorandom = random(92);
    _root.bkg["a"+miorandom].play();
    };
    }
    come posso fare a far si che non si ripetano???
    AIUTO...

    Grazie a tutti
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    E una volta avviati tutti che succede?

  3. #3
    Questi mc sono dei quadrati che compongono uno sfondo.
    ogni mc ha all'interno un'animazione che gli fa cambiare colore.
    quindi vorrei ottenere che, alla pressione di un pulsante, l'animazione di ogni clip si avvii in modo random ma senza ripetizioni...
    aiutami per favore...sono nei guai
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  4. #4
    se hai nominato i clip in modo sequenziale

    ID=Math.random(NUMERO)

    path["istanza_clip"+ID].play()

    il punto è che prima di completare tutte le animazioni potresti averne alcune ripetute molte volte, ed anltre che ancora sono ferme ??

    Quindi per eliminare le ripetizioni dovresti registrare l'ID in un array e verificare che l'ID successivo non sia già presente.


  5. #5
    Purtroppo in actionscript sono un principiante e non ho la minima idea di come realizzare un array...
    puoi aiutarmi???
    devo consegnare sta cosa entro le 16.00
    aiutoooo
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  6. #6

  7. #7
    grazie per la comprensione...
    anche se non capisco perchè mai tu non debba crederci.
    grazie lo stesso.
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  8. #8
    Perche non credo alla fine del mondo entro le 16.00
    perchè non si muore per un flash non consegnato ad orario.
    perchè credo nelle guide e nella ricerca sul forum.

    prova così ma l'ho scritto direttamente potrebbe non funzionare


    codice:
    //Array di comodo
    
    nomi=new Array()
    for(I=1,I<=95,I++){
       nomi[I]=I
    }
    
    function anima(){
    X=0
    this.onEnterFrame=function(){
    
        ID = Math.random(95)
        if(nomi[ID] > 0){
               X++ // conta i clip
               nomi[ID]=0 // azzero l'array per non ripetere 
               path["a"+ID].play()
        }
        if(X >=95){
               // le animazioni sono state eseguite tutte
               delete this.onEnterFrame
         }
    }
    }
    
    // chiamo funzione
    anima()

  9. #9
    Nel ringraziarti tantissimo per il tuo aiuto (sono riuscito ad adeguare la tua soluzione alle mie esigenze) vorrei solo precisare che si, non cade il mondo se il lavoro è incompleto, ma avevo detto al mio titolare che potevo realizzare questa modifica al sito che sto lavorando, ritardando già la consegna del mio lavoro di una settimana.
    E' giustissimo che tu dica che bisogna fare ricerche, ma non avrei fatto ricorso a voi (te in questo caso) se non avessi spulciato tutti i vecchi thread sull'argomento.
    purtroppo non sono così esperto in actionscript da capire tutte le soluzioni che ho trovato (seguendo anche diversi tutorial di Negative).
    Ho cercato, quindi, di trovare una soluzione che, almeno, potessi capire in modo tale da poterla rielaborare da solo una prossima volta.
    Grazie comunque per il tuo provvidenziale quanto esaustivo intervento
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  10. #10
    ok se ti serve ancora ...

    l'ho provato ed adesso funziona.
    L'esempio è su TOT=10 tu sostituisci il numero che ti serve

    codice:
    //Array di comodo
    TOT=10
    nomi=new Array()
    for(I=1;I<=TOT;I++){
       nomi[I]=I
    }
    
    function anima(){
    X=0
    this.onEnterFrame=function(){
    
        ID = random(TOT)+1
        if(Number(nomi[ID]) > 0){
               X++ // conta i clip
               nomi[ID]=0 // azzero l'array per non ripetere 
               //path["a"+ID].play()
    		   trace("clip A"+ID+" .....animazione")
        }else{
    		   trace("nessuna animazione clip A"+ID+"...già chiamato")
    	}
        if(X >=TOT){
               // le animazioni sono state eseguite tutte
               delete this.onEnterFrame
         }
    }
    }
    
    // chiamo funzione
    anima()

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.