Avatar billede jenslyn_s Nybegynder
11. juni 2004 - 15:30 Der er 13 kommentarer og
1 løsning

Hente random movieclip

Hej,
Jeg vil lave en forside, hvor der vises et tilfældigt billede.
løsningen skal KUN loade billedet som skal vises.
Jeg har tænkt på at lave et eksternt movieclip til hvert billede, og så via et script loade dem, men jeg ved ikke om det er den mest optimale og enkle løsning?
Avatar billede le_bon Nybegynder
11. juni 2004 - 15:42 #1
sorry...følger lige med her, hvis der skulle komme en løsning. ;o)
Avatar billede _k Nybegynder
11. juni 2004 - 16:03 #2
Kan du ikke bruge et jpg-billede i stedet for?

Så lav nogle billeder som du kalder: billede1.jpg, billede2.jpg, billede3.jpg osv. Læg dem i samme mappe som din swf.

Smid der her script på frame 1:
loadMovie("billede" + random(3) + ".jpg", mc); // mc er instancenavnet på et mc du har på din stage. Det er her billedet bliver loadet ind
Avatar billede _k Nybegynder
11. juni 2004 - 16:05 #3
..hov, du skal så enten lave et billede med navnet "billede0.jpg", eller plusse med én:

loadMovie("billede" + (random(3) + 1) + ".jpg", mc);

...det ER jo fredag eftermiddag...... ;)
Avatar billede barklund Nybegynder
11. juni 2004 - 16:05 #4
le_bon >> du kan bare smide en tom kommentar, så bliver den ikke vist men du abbonnerer stadig på spm.

jenslyn_s >> som _k foreslår - brug dog hellere metoden end funktionen og brug Math.random() frem for random() (det er lidt mere streamlinet):

antal = 4;
mc.loadMovie("billede" + Math.floor(1 + Math.random() * antal) + ".jpg");
Avatar billede _k Nybegynder
11. juni 2004 - 16:11 #5
"Streamlinet" - det bliver du vist nødt til at forklare! ;)
Avatar billede barklund Nybegynder
11. juni 2004 - 16:47 #6
MovieClip.loadMovie er en metode. loadMovie er en funktion. Metoder er lidt sajere end funktioner :)

Eller okay, metoder er "rigtigere", kønnere og desværre af og til lidt langsommere. Det er den ægte OOP tankegang at bruge metoder frem for funktioner. Ligesom man bruger LoadVars frem for loadVariables og mc._x=10 frem for setProperty(mc,_x,10).

Mht. random(), så er denne funktion for det første uddateret (eng. deprecated) og frarådes af macromedia. Den har en "svagere" tilfældighedsgenerator og er derfor ikke en lige så tilfældig kilde, som Math.random(), som er den nye, rekommanderede funktion og som følger ECMAScript standarden, som ActionScript jo efterhånden er fuldstændigt baseret på - fra Flash7 er den i hvert fald næsten 100% med. Nogle af de sidste ting er kommet med samt ECMAScript v4 er adopteret i AS2.

// Morten Barklund
Avatar billede _k Nybegynder
11. juni 2004 - 17:08 #7
Verdensklasse forklaring :)

Nu har du omvendt mig til at bruge metoder fremfor funktioner og Math.random() fremfor bare random() i fremtiden :)
Avatar billede barklund Nybegynder
11. juni 2004 - 18:51 #8
Det er jeg sgu glad for at høre _k! :)

Jeg gør hvad jeg kan for at få fornuftige programmeringsparadigmer/-pragmatikker indført overalt :)
Avatar billede jenslyn_s Nybegynder
11. juni 2004 - 19:20 #9
Tak for begge svar, har dog valgt at bruge Barklunds eksempel(smid et svar bark..). Men mange tak til dig _k!
Avatar billede _k Nybegynder
11. juni 2004 - 19:41 #10
Det er helt fint. Jeg burde også give point, for jeg lærte noget jeg ikke vidste.

barklund: når man ikke selv har den helt tunge programmerings-uddannelse, er det præcis sådan nogle ting der er fede, men desværre også halvsvære at samle op. Alternativet til at du drysser guldkornene her i forummet er at trawle nogle digre programmeringsværker igennem. Det sker også fra tid til anden, men man skal være meget vågen for at få det hele med.... og det er svært at holde øjnene åbne hele vejen igennem den gennemsnitlige fagbog.

Så jeg siger tak ;)
Avatar billede le_bon Nybegynder
11. juni 2004 - 21:08 #11
Ja, vi er flere der takker for en yderst lærerig tråd! c",)

le_bon
Avatar billede barklund Nybegynder
13. juni 2004 - 00:25 #12
/me smider et svar :)
Avatar billede jenslyn_s Nybegynder
13. juni 2004 - 18:18 #13
Lige mens jeg har jeres opmærksomhed... Jeg har en preloader i frame 1 af mit movieklip. Kan jeg ikk få den til også at loade billedet. Vil jo gerne have preloaded hele lortet.
Avatar billede barklund Nybegynder
14. juni 2004 - 22:22 #14
Ikke nemt nej, du ved jo ikke fra starten, hvilket billede du skal preloade - og du kan jo ikke preloade før du begynder at loade. Men du kan gøre det, at du i starten efter din almindelige preloader også loader alle tre billeder (ind et sted uden for skærmen for eksempel så man ikke ser det) for derefter at lave en fælles preloader på dem ligesom for din hovedfilm og kører din hovedfilms preloader videre...
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