Avatar billede cgleerup Nybegynder
11. april 2006 - 13:46 Der er 34 kommentarer og
1 løsning

Loade tilfældig swf til visning

Jeg har en flash kaldet "kontrol.swf" den er loadet ind i et CMS system og tanken er at den skal styre forskellige flash filer, fysisk placeret i samme mappe som kontrol.swf!

Jeg vil gerne have at denne således i frame 1 kalder en tilfældig udvalgt swf blandt disse:

001.swf
002.swf
003.swf
004.swf
005.swf
006.swf
007.swf
008.swf
009.swf
010.swf

og så skal den egentlig bare vise denne "inde" i sig selv, eller istedet for sig selv... hvordan gør jeg det?
Avatar billede maqhem Nybegynder
11. april 2006 - 14:28 #1
skriv sådan hér på første frame i dit as:

var mulige:Array = ["001", "002", "003", "004", "005", "006", "007", "008", "009", "010"];
loadMovieNum(mulige[random(mulige.length)] + ".swf", 1);
Avatar billede maqhem Nybegynder
11. april 2006 - 14:33 #2
helt rigtigt skal det faktisk være sådan hér hvis selve swf-filen skal erstattes:

var mulige:Array = ["001", "002", "003"];
loadMovieNum(mulige[random(mulige.length)] + ".swf", 0);
Avatar billede maqhem Nybegynder
11. april 2006 - 14:35 #3
hov... Der mangler da vidst nogle elementer i mulige. Dem kan du vel selv lige sætte ind ;)
Avatar billede cgleerup Nybegynder
11. april 2006 - 14:43 #4
nu har jeg sat din nederste kode ind på første frame, men uden resultat, min kontrol.swf er bare hvid, og når jeg kører dit script, er den stadig - hvid! ?
Avatar billede cgleerup Nybegynder
11. april 2006 - 14:51 #5
hvad pokker mon jeg gør forkert?
Avatar billede maqhem Nybegynder
11. april 2006 - 14:58 #6
jeg afviser ikke jeg kunne have lavet en stavefejl eller noget i det sidste script. Prøv med det første, og så bare ændr 1 til 0 - hvis det velogmærket overhovedet virker med 1.

Kører du v.8?
for jeg kører kun mx2004 nemlig
Avatar billede cgleerup Nybegynder
11. april 2006 - 15:01 #7
jeg kører også kun 2004 - men prøver lige ad... hvad definere det sidste tal 0/1?
Avatar billede cgleerup Nybegynder
11. april 2006 - 15:03 #8
Det eneste kode jeg har i min flashfil er nu:

var mulige:Array = "001", "002", "003", "004", "005", "006", "007", "008", "009", "010"];
loadMovieNum(mulige[random(mulige.length)] + ".swf", 1);

Men den bliver bare hvid...
Avatar billede maqhem Nybegynder
11. april 2006 - 15:03 #9
det definerer hvilket level filmen skal loades ind som:

1 = et level der ligger højere end level0

0 = selve filen
Avatar billede maqhem Nybegynder
11. april 2006 - 15:04 #10
det var sq da sært :S
Avatar billede cgleerup Nybegynder
11. april 2006 - 15:04 #11
Filen eksistere, men den kommer med denne fejl:

Error opening URL "file:///D|/flash%5Fvideo/ad%5Fsystem/005.swf"
Avatar billede maqhem Nybegynder
11. april 2006 - 15:04 #12
melder den fejl eller noget? og filerne ligger i præcis samme mappe?
Avatar billede cgleerup Nybegynder
11. april 2006 - 15:05 #13
ja, præcis samme mappe!
Avatar billede maqhem Nybegynder
11. april 2006 - 15:05 #14
prøv ad med:

var mulige:Array = "./001", "./002", "./003", "./004", "./005", "./006", "./007", "./008", "./009", "./010"];
loadMovieNum(mulige[random(mulige.length)] + ".swf", 1);
Avatar billede cgleerup Nybegynder
11. april 2006 - 15:06 #15
Det fik jeg det her ud af:
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 1: Identifier expected
    var mulige:Array = "./001", "./002", "./003", "./004", "./005", "./006", "./007", "./008", "./009", "./010"];

Total ActionScript Errors: 1     Reported Errors: 1
Avatar billede maqhem Nybegynder
11. april 2006 - 15:10 #16
altså... ligger filen 005.swf ikke dér, hvor den peger på? (file:///D|/flash%5Fvideo/ad%5Fsystem/005.swf)

For scriptet virker ikke til at bære fejl?
Avatar billede cgleerup Nybegynder
11. april 2006 - 15:14 #17
jo, den ligger der godt nok.... mærkeligt... men er det så det sidste eller det første script jeg skal gå efter?
Avatar billede maqhem Nybegynder
11. april 2006 - 15:18 #18
hmm... det første virkede i hvert fald ved mig...

gå efter det første, et 1-tal eller et nul gør i denne sammenhæng ikke stor forskel.

Men om jeg fatter hvorfor det ikke virker ?! :S Prøv med:

loadMovieNum("005.swf", 1);

hvis dette duer, så fatter jeg ikke hvad jeg skal gøre :(
Hvis det ikke duer, er det ikke mit script der fejler noget...
Avatar billede cgleerup Nybegynder
11. april 2006 - 15:18 #19
kunne vi forsøge med at ligge swf'erne, altså dem der defineres i arrayet i en undermappe med navnet "ads", hvordan skal det så skrives?
Avatar billede cgleerup Nybegynder
11. april 2006 - 15:20 #20
det giver samme fejl, så det er et spørgsmål om at give den rigtige sti, den finder den jo rimeligt, kigger lige lidt på det...
Avatar billede maqhem Nybegynder
11. april 2006 - 15:21 #21
skal skal det bare være ads//001, ads//002 og så videre - tror jeg nok - ellers er det kun med en /.

Men kan du ikke først prøve hvad jeg lige sagde...?
Avatar billede maqhem Nybegynder
11. april 2006 - 15:22 #22
hmm. Kan det være, det skal være "\.001" eller "\\.001"?
Avatar billede cgleerup Nybegynder
11. april 2006 - 15:25 #23
i så faldt skulle jeg vel kunne skrive:
loadMovieNum("\\." + mulige[random(mulige.length)] + ".swf", 1);
Avatar billede maqhem Nybegynder
11. april 2006 - 15:27 #24
punktumet skal være først - min fejl - ups

Men ellers korrekt
Avatar billede cgleerup Nybegynder
11. april 2006 - 15:35 #25
har prøvet at genstarte da den var lidt ustabil, og nu virker det, uden de mange tegn! kanon og tak for hjælpen... kan man eventuelt lave så der ligger et lag over selve den film der loades ind, som er en knap. Og at linket på denne knap defineres i en tekstfil således at man, hvis 001.swf er valgt også vælger linket i "links.txt" der hører til 001.swf?

jeg giver gerne 60 point i bonus tillæg...
Avatar billede maqhem Nybegynder
11. april 2006 - 15:46 #26
hmm. Dét, med laget, kan laves, hvis du laver en fil der hedder knap.swf, hvor du har tegnet en gennemsigtig knap - den skal så loades ind som level2 i stedet for :)

Angående linket, så skal du finde filen tilfældigt som det første - og definere det i en variabel.

Derefter loader du filen ind, og skriver følgende efter:

nlv = new LoadVars();
nlv.onLoad = function(){
    linket = this["link" + variabelMedTilfældigFilnavn];
}
nlv.load("links.txt");

håber du forstår. Er lidt træt i hovedet lige nu, så jeg er ikke så god til formuleringer og sådan... :)
Avatar billede cgleerup Nybegynder
11. april 2006 - 15:48 #27
gør jeg vidst ikke helt - er lidt newbie :-/
Avatar billede maqhem Nybegynder
11. april 2006 - 15:54 #28
giv mig den kode, du bruger... Så skal jeg flette en udførlig forklaring og script sammen....
Avatar billede cgleerup Nybegynder
11. april 2006 - 15:55 #29
Bruger din kode til at finde filen!

var mulige:Array = ["001", "002", "003", "004", "005", "006", "007", "008", "009", "010"];
loadMovieNum(mulige[random(mulige.length)] + ".swf", 1);

derudover har jeg ingen kode, så skal jeg sende dig en mouseover code, men den kan du jo nemt selv tage.
Avatar billede maqhem Nybegynder
11. april 2006 - 16:06 #30
nårh ja... som sagt, er lidt træt i hovedet... :P

var mulige:Array = ["001", "002", "003", "004", "005", "006", "007", "008", "009", "010"];
var fil:String = mulige[random(mulige.length)];
loadMovieNum(fil + ".swf", 1);
loadMovieNum("knap.swf", 2);
nlv = new LoadVars();
nlv.onLoad = function(){
    link = this["link" + fil];
}
nlv.load("links.txt");
gennemsigtigMc.onPress = function(){
    getURL(link);
}

tror dette duer - links.txt skal indeholde følgende:

link001="link 1"&link002="link 2"&link003="link 3"

Hvor det der er i "" er linket.

Og i knap.swf skaldu lave et gennemsigtigt mc der fylder hele rooten. Kald dette gennemsigtigMc - så tror jeg det duer...
... tror... :S og HÅBER :D
Avatar billede cgleerup Nybegynder
11. april 2006 - 16:11 #31
kanon, får det nok først testet imorgen, men takker for nu!
Avatar billede maqhem Nybegynder
11. april 2006 - 17:26 #32
Håber du får det til at du. Skriv hvis ikke...
Avatar billede cgleerup Nybegynder
31. marts 2008 - 15:38 #33
Hej Maghem, sidder lige og kigger på den her gamle sag :-)

Hvis nu jeg vil bruge start.swfén til at loade en ny tilfældig swf med 100 frames interval, hvordan skal jeg så klare selve loadparameteren, da skal den jo ind i stedet for et mc i flashen?!
Avatar billede maqhem Nybegynder
31. marts 2008 - 17:01 #34
Jeg håber virkeligt ikke, dine nætter normalt er næsten to år lange. For så burde du tage en lidt mindre dosis sovemedicin.

Jeg gider virkeligt ikke at sætte mig ind i dette her igen. Så måtte du altså have reageret dengang. Det kan ikke have været vigtigt, hvis du bare glemte det igen.
Avatar billede cgleerup Nybegynder
04. april 2008 - 09:11 #35
Nååå nej nej, jeg stødte bare på den, sorry!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester