03. januar 2007 - 08:43Der er
7 kommentarer og 1 løsning
Undgå at vælge samme billede lige efter ved random
Hejsa
Jeg har dette script som fungere fint - flashfilen fader ud og ind mellem (i dette tilfælde)6 billeder men problemet er at den til tider tager samme billede 2 gange. Hvordan undgår jeg det og stadig med random billeder. Eller hvordan får jeg sat den til at tage fra 1-6 og køre en rækkefølge. Helst først løsning.
På forhånd tak :o)
Camilla
import mx.transitions.*;
createEmptyMovieClip("a5",1); a5._alpha=0;
createEmptyMovieClip("b5",2); b5._alpha=0;
( f= function() { clearInterval(i); if(c == a5) {p = b5} else {p = a5}; // p = ((c == a) ? b : a); ( m5 = new MovieClipLoader()).loadClip("/fileadmin/user_upload/forsideflash/flashimages/b" + _parent.randRange(1,6) + ".jpg", p); m5.onLoadComplete=function() { new Tween(c,"_alpha",0,100,0,50); t = new Tween(c = p,"_alpha",0,0,100,50); t.onMotionFinished = function() { i=setInterval(f, 2000); } } } ).call()
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du kan evt sende det sidst forekomne "tilfældige tal" med i din funktion, og så kalde den rekursivt, hvis det nye tal matcher det gamle. Noget i retning af nedenstående:
function randRange(min, max, old) { tal = Math.round(Math.random()*(max-min))+min; if(old==tal) { return randRange(min, max, old); } //trace(tal); return tal; }
Tjah, du skal jo også sende tallet med, når du kalder funktionen. Jeg er godt nok ikke så skarp i flash, men går ud fra at variablen tal (som jeg sætter i nedenstående eksempel) holdes til næste funktionskald, ellers må den kunne lave statisk på en måde, evt som global-variabel:
f = function() { clearInterval(i); if(c == a5) {p = b5} else {p = a5}; tal = _parent.randRange(1,6, tal); (m5 = new MovieClipLoader()).loadClip("/fileadmin/user_upload/forsideflash/flashimages/b" + tal + ".jpg", p); m5.onLoadComplete=function() { new Tween(c,"_alpha",0,100,0,50); t = new Tween(c = p,"_alpha",0,0,100,50); t.onMotionFinished = function() { i=setInterval(f, 2000); } } }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.