Ciao a tutti, come posso fare per far si che immagini caricate in random vengano riprodotte una sola volta?
Ciao a tutti, come posso fare per far si che immagini caricate in random vengano riprodotte una sola volta?
beh creati una funzione che chiami quando vuoi sfruttando gli array questo uno spunto ... da adatatre, da verificare ma dovrebbe funzionare
:P
codice:valore_array = new Array(); function NumRandom(){ totalNum = 6; rnd = Math.random()*totalNum; return(parseInt(rnd)+1); } function VerificaArray(numeroRand){ for(i=0;i<6;i++){ if(valore_array[i] == numeroRand) return false; } valore_array.push(numeroRand); return numeroRand; } function QuelloCheVuoi(){ do { a = VerificaArray(NumRandom()); } while (a == false) return(a); } //esempio dovrebbe darti in array sempre un numero diverso trace(QuelloCheVuoi()); trace(QuelloCheVuoi()); trace(QuelloCheVuoi()); trace(QuelloCheVuoi()); trace(QuelloCheVuoi()); trace(QuelloCheVuoi());
il trace ti restituisce una numero randome senza mai ripetere i precedenti quindi poi basta fare il load movie di QuelloChevuoi() e risolvi :-9
ciao
Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento
il problema è che non conosco tanto bene gli Array, e non riesco a collegare lo script che ho con quello che mi hai passato. Questo è quello che ho caricato per caricare in random...
function num(min:Number, max:Number):Number {
var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
return randomNum;
}
var myArray:Array = Array(1);
myArray.push();
myArray = mario;
for (var i = 0; i < 1; i++) {
var n:Number = num(495, 638);
if (num==mario ) {break;
trace(num==mario);
}
}
img = "immagini/IMG_0"+n+".jpg";
l = n-493;
loadMovie(img,this.foto);
ciao enigma_79
avrei una cosa da chiderti a riguardo dello script postato
come posso usare il dati della funzion QuelloCheVuoi()?
cioè come posso dire ad un MC goto and stop a QuelloCheVuoi()?
grazie mille Luca
javascript:void(0);
Originariamente inviato da enigma_79
beh creati una funzione che chiami quando vuoi sfruttando gli array questo uno spunto ... da adatatre, da verificare ma dovrebbe funzionare
:P
codice:valore_array = new Array(); function NumRandom(){ totalNum = 6; rnd = Math.random()*totalNum; return(parseInt(rnd)+1); } function VerificaArray(numeroRand){ for(i=0;i<6;i++){ if(valore_array[i] == numeroRand) return false; } valore_array.push(numeroRand); return numeroRand; } function QuelloCheVuoi(){ do { a = VerificaArray(NumRandom()); } while (a == false) return(a); } //esempio dovrebbe darti in array sempre un numero diverso trace(QuelloCheVuoi()); trace(QuelloCheVuoi()); trace(QuelloCheVuoi()); trace(QuelloCheVuoi()); trace(QuelloCheVuoi()); trace(QuelloCheVuoi());
il trace ti restituisce una numero randome senza mai ripetere i precedenti quindi poi basta fare il load movie di QuelloChevuoi() e risolvi :-9
ciao![]()
![]()
![]()
![]()
![]()
![]()
luka
_._._
www.tinybros.com
tuoclip.gotoAndStop(QuelloCheVuoi());
Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento
Grazie Enigma
ora provo a far funzionare lo script
al max ti richiedero una consulenzina
Luca
luka
_._._
www.tinybros.com
Ciao
La soluzione di Enigma funziona anche se questo metodo, sfruttando una condizione, fa ripetere il calcolo svariate volte finchè non trova un valore non ancora presente tra quelli già restituiti.
Ma in questo modo il nostro pc lavora inutilmente. :master:
Per essere pignioli, io proporrei quest'altro script in cui il valore viene calcolato solo una volta ma sarà comunque univoco.![]()
Alla prossima...codice:tot = 6; nums = new Array(); for (var id = 0; id<tot; id++) { nums[id] = id+1; } function sudoku() { var rnd = random(nums.length); var val = nums[rnd]; nums.splice(rnd, 1); return val; } trace(sudoku()); trace(sudoku()); trace(sudoku()); trace(sudoku()); trace(sudoku()); trace(sudoku());![]()
Installa Forum HTML.it Toolset per una fruizione ottimale del Forum
hmmm interessante...
ne approfitto per chiederti una cosa
riesci a spiegarmi le varie righe cosa servono di preciso
così se devo modificarlo ho una visione completa
sempre se ti va è chiaro
grazie mille
luka
_._._
www.tinybros.com
Certo
Commento riga per riga
Se ad esempio si imposta tot=6, la funzione sudoku potrà essere richiamata 6 volte in cui saranno restituiti 6 numeri diversi.Codice PHP:
// identifico un valore massimo
tot = 6;
// creo l'array nums
nums = new Array();
// assegno ad ogni elemento dell'array un numero da 1 a tot
for (var id = 0; id<tot; id++) {
nums[id] = id+1;
}
// funzione sudoku, ovvero "mai lo stesso numero"
function sudoku() {
// calcolo un numero casuale compreso
// tra 0 e la lunghezza corrente dell'array
var rnd = random(nums.length);
// ottengo il valore dell'elemento che ha come indice
// il numero casuale calcolato
var val = nums[rnd];
// elimino dall'array l'elemento con tale indice
// riducendo pertanto la lunghezza dell'array stessa
nums.splice(rnd, 1);
// restituisco il valore ottenuto
return val;
}
// ogni volta che si richiama la funzione sudoku sarà restituito
// un numero compreso tra i valori restanti dell'array,
// dopo di che l'elemento relativo a tale valore sarà eliminato
// dall'array che andrà, di volta in volta, a ridimensionarsi
// e a indicizzare nuovamente i valori restanti, fino a quando
// non ci saranno più elementi nell'array
Dopo la sesta volta che si richiama la funzione sarà restituito il valore undefined.
Tutto qui![]()
Installa Forum HTML.it Toolset per una fruizione ottimale del Forum