Avatar billede h_h Nybegynder
01. maj 2008 - 22:44 Der er 4 kommentarer

Hvordan navigerer man tilbage fra en loadet SWF-fil (AS3)?

Kære Eksperter

Jeg laver sammen med et par andre hoveder et større projekt i Flash CS3, bestående af en række små computerspil og nogle animationer, som tilsammen skulle give en eventyrhistorie.

For at vi hver især kan arbejde på de forskellige dele, og først til sidst kode det helt sammen, kunne vi godt tænke os at bruge en SWF-loader-funktion (eller noget andet, der er smartere, hvis det findes!) til at hente spillene og animationerne ind i én samlet flashfil – sådan at spillene og animationerne ligger på forskellige frames i denne. Princippet er:

Frame1: Intro-animationssekvens, der leder op til spil1
Frame2: Spil1 (som til sidst sender én videre til Frame2 eller 3, alt efter hvordan det gik)
Frame3: Man tabte spil1 (animationssekvens og mulighed for at hoppe tilbage til frame2 igen)
Frame4: Man vandt spil1 – animationssekvens videre imod spil2
Frame5:Spil2
…osv. osv. osv.

Vi véd hvordan man loader en SWF-fil til en frame i hovedfilen – fx således:

var minLoader:Loader = new Loader();
addChild(minLoader);
minLoader.load(new URLRequest("spil1.swf"));

Vores spørgsmål er derfor:

1) Hvordan får vi den loadede SWF-fil til at lukke sig igen, når spillet eller animationen er slut?

2) Kan vi få den loadede SWF-fil til at navigere hovedfilen hen til et bestemt sted, når denne loadede fil lukker sig? (fx skal spil1 i Frame2, sende hovedfilen til Frame3, hvis man tabte, og Frame4, hvis man vandt)

3) Kan man eventuelt sende nogle data med fra den loadede SWF med tilbage til hovedfilen, når den lukker sig – fx pointscore eller lign.?

Vi bruger i øvrigt udelukkende AS 3.

På forhånd en million tak for svaret!
Avatar billede mash Mester
02. maj 2008 - 03:27 #1
puha ang. punkt 2 og 3:
kan kun komme med hints da det er længe siden jeg har rodet med det ,med hvis du angiver dine vars med _level0.dinvar henviser du til roden af den loaded awf, men hvis de siger _root.dinvar er det roden i den først loaded swf(du må ikke hænge mig op på det).

så hvis du når anim er færdig sætter _root.dinvar til eks. 2 og du i hovede swf laver en gotoandplay(_root.dinvar) skulle den få værdien fra den anim, samme med score angiv den med _root og du skulle kunne læse den i "loaded" swfén
Avatar billede mash Mester
02. maj 2008 - 03:29 #2
den sidste "loaded" er self "loader", giver nok ingen mening....(sengetid :P)
Avatar billede h_h Nybegynder
05. maj 2008 - 21:07 #3
Jeg tror, du er ude i noget ActionScript 2 med de der underscores...?

Vi arbejder med ActionScript 3 i spillene, så det er nok bedst at holde hele koden i dette... :)
Avatar billede mash Mester
06. maj 2008 - 00:12 #4
jamen så søg evt. på hvordan man bruger rod vars i as3, det er vel noget af det samme bare en anden syntax, er jo flash playeren der styre det som altid :-D
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