In deze zelfstudie maken we een SWF die zichzelf vooraf laadt, wat betekent dat de preloader en de inhoud zich in hetzelfde bestand bevinden. We zullen bespreken hoe we de dingen op de juiste manier doen en de vallen vermijden.
Het idee van een enkele SWF-preloading is dat u een Flash-object heeft dat zichzelf vooraf laadt. Dat betekent dat de preloader, met de bijbehorende functionaliteit en activa, samen wordt ingebed in hetzelfde SWF-bestand als de hele Flash-film of -toepassing.
We beginnen deze tutorial met wat theorie en maken het af met het maken van een FLA samen met een preloader-klasse die je kunt gebruiken in toekomstige projecten. In de loop van de tutorial zullen we veelvoorkomende valkuilen en belangrijke overwegingen bespreken.
Ook nu Activetuts + zich begint te concentreren op documentklassen en in het algemeen dingen in klassenbestanden zoveel mogelijk bijhoudt, doen we dat precies in het praktische deel van deze tutorial. Bekijk de snelle tip: Hoe een documentklasse in Flash te gebruiken als je de basis moet leren.
Zorg ervoor dat u een bijgewerkte versie van Flash CS3 of Flash CS4 hebt. Ik weet zeker dat een latere CS4-update de manier waarop klassen zijn geladen heeft veranderd en dat het hier allemaal verschil kan maken!
Ik geef meteen toe dat deze tutorial vrij lang is voor dit enge onderwerp, maar het bevat alles wat je moet weten, dus pak het vast en laten we er naar toe gaan!
Het idee van een preloader ligt voor de hand: u wilt ervoor zorgen dat de gebruiker visuele feedback krijgt die aangeeft dat het Flash-object wordt geladen. Het insluiten van een groot Flash-bestand dat 10 seconden nodig heeft om te laden, kan het verschil betekenen tussen gebruikers die de website bezoeken of verlaten, mocht de preloader de gebruiker niet verplichten om door te gaan.
Het proces van het maken van "zelfvoorspellende" Flash-bestanden presenteert enkele problemen en problemen. Er zijn andere preloading-technieken die heel gemakkelijk samen te stellen zijn, zoals één SWF-bestand dat een ander vooraf laadt en het toevoegt aan het eenmaal geladen podium.
Dus waarom moeite doen? Welnu, er zijn situaties waarin je geen keus hebt.
U wilt bijvoorbeeld Flash-spellen maken die u naar zo veel mogelijk Flash-gamingportals wilt verspreiden. De meeste van deze portals ondersteunen alleen games in de vorm van een enkel SWF-bestand, waardoor je geen andere keus hebt dan ervoor te zorgen dat je spel vanuit zichzelf prima vooraf laadt.
Afgezien van dergelijke voor de hand liggende voorbeelden, is er het argument van het hebben van een voltooid product in slechts één bestand, dat zorgt voor eenvoudig beheer.
Wanneer uw browser op een Flash-object stuitert en begint met laden, begint het vanaf het begin van de tijdlijn. Het laadt de frames een na de ander. Zodra het eerste frame is geladen, kan het worden weergegeven.
Onze aanpak hier is om een preloader op het eerste frame te plaatsen zodat de gebruiker iets ziet gebeuren, terwijl de browser de rest van het bestand blijft laden. We schrijven code om de algehele voortgang te controleren en wanneer deze is voltooid, gaan we door naar de hoofdinhoud van het bestand.
De uitdaging is om het formaat van het eerste frame tot een minimum te beperken. Als je code en geluiden in het eerste frame laat stapelen, heb je misschien een preloader die pas zichtbaar is nadat je misschien 60% van de film hebt geladen.
Een goede tip als u een percentageteller wilt gebruiken die getallen weergeeft, is een lettertype te gebruiken dat klein is in bytegrootte. Maar dit brengt je alleen zo ver. Helaas moeten we behoorlijk wat harder werken om de dingen op onze manier te doen!
Het is al vele malen eerder gezegd en het is de moeite waard om opnieuw te zeggen:
Preloaders, de moeilijkste van de eenvoudigste taken in Flash ...
Er zijn een aantal dingen die van invloed zullen zijn op wat in welk frame wordt geplaatst, zoals:
Het grootste probleem waar we voor staan is regelen wat in frame één eindigt, omdat, zoals hierboven vermeld, alles op frame één moet worden geladen voordat de preloader kan worden weergegeven.
Anders dan dat, zijn er verschillen tussen hoe Flash CS3 en CS4 werken. In de volgende stap zal ik een aantal grondig onderzochte uitspraken doen waar je naar terug kunt verwijzen als dat nodig mocht zijn. Het zou een geweldige hulpbron moeten zijn als u snel problemen met uw preloading wilt oplossen, om erachter te komen waarom het zich niet gedraagt zoals u verwacht.
Ik zal proberen de uitspraken wat tastbaarder te maken door te verwijzen naar TweenLite, een geweldige tweening-bibliotheek van Jack Doyle via greensock.com. We zullen TweenLite gebruiken in het praktische deel van deze tutorial, dus dit zal het meest logisch zijn.
Deze uitspraken gelden voor zowel Flash CS3 als CS4, tenzij anders aangegeven. "TweenLite importeren" betekent in feite "het importeren en gebruiken van TweenLite" - de resultaten kunnen verschillen als u de code niet daadwerkelijk gebruikt, omdat de Flash-compiler ongebruikte importen negeert. Het typen van een import-statement is niet hetzelfde als het gebruik van de code.
De volgende drie instructies verwijzen naar het scenario waarin u een MovieClip hebt die wordt geëxporteerd voor ActionScript, met behulp van een extern klassenbestand, dat op zijn beurt TweenLite in het klassenbestand importeert.
De volgende drie instructies verwijzen naar het scenario waarin u een MovieClip hebt die voor ActionScript is geëxporteerd als "CustomClass", al dan niet met behulp van een extern klassenbestand, dat wordt geïnstantieerd en toegevoegd aan een fase van een MovieClip die op de tijdlijn wordt geplaatst (alleen zoals de MovieClip van de vorige drie stellingen.) Deze CustomClass is enkel en alleen geïnstantieerd en bestaat niet eerder op de hoofdtijdlijn.
Laten we met al deze beperkingen op zijn minst deze positieve verklaring overwegen:
Dit is echt een interessante:
Ja, je leest het goed. Ik neem aan dat het redelijk is om aan te nemen dat Adobe wil dat mensen upgraden naar CS4. Dus wat te doen als u vastzit aan CS3 en het gras aan de andere kant groener is? Ik zal het je in de volgende stap vertellen.
Deze hele stap is alleen voor degenen onder u die Flash CS3 gebruiken.
Als u alle instructies in de vorige stap hebt gelezen, zult u zich het probleem realiseren dat veel MovieClips zijn geëxporteerd voor ActionScript. Deze moeten allemaal in frame één worden geladen of zijn niet beschikbaar. Gelukkig waren deze uitspraken in de veronderstelling dat die activa nooit op de hoofdtijdlijn werden geplaatst, wat toevallig onze oplossing is! (Dit is ook de enige manier om geluiden te laden anders dan in frame één ...)
Dit is hoe het gedaan is:
Hierdoor worden al uw items in het tweede frame geladen. De oplossing is een beetje plakkerig, maar het is niet zo moeilijk als nieuwe software te moeten kopen voor dit specifieke probleem.
(Een pluim voor 8bitrocket voor deze truc!)
Een ding dat ik moet noemen voordat we beginnen te werken, is de bandbreedte-profiler. Dit is een essentieel hulpmiddel bij het uitzoeken van uw preloading-problemen. Wanneer u een voorbeeld van een film bekijkt, kunt u deze bekijken en vervolgens de bandbreedteprofiler kiezen. Of druk op Ctrl + B.
Hier kunt u schakelen tussen frame-voor-frame grafieken en streaming grafieken. U kunt ook het downloaden van de film simuleren met een door u gekozen verbindingssnelheid door deze te kiezen in het menu Weergave of door nogmaals op Ctrl + Enter te drukken (wijzig de gesimuleerde downloadsnelheid met behulp van het submenu Weergave> Downloadinstellingen). Dit is essentieel om te weten te komen hoe je preloader er uit zal zien, zonder de moeite te hoeven nemen om het te uploaden en je bandbreedte te beperken. Voor dat specifieke geval kan ik Firefox Throttle aanbevelen.
Naast de zeer nuttige tool die de bandbreedteprofiler is, is er de mogelijkheid om een grootteverslag te genereren. Druk op Ctrl + Shift + F12 om het dialoogvenster Publicatie-instellingen te openen.
Ga naar het tabblad Flash en in het gedeelte Geavanceerd is er een selectievakje met het label 'Rapport genereren van grootte'. Wanneer dit selectievakje is aangevinkt, zal een voorbeeld van of een publicatie van uw film een tekstbestand genereren in dezelfde map als uw FLA-bestand dat nuttige informatie bevat over de onderdelen waaruit de totale filmomvang bestaat.
Eindelijk kunnen we beginnen met het maken van een Flash-film met een mooie self-contained preloader!
We zullen een "drie frame preloading" -techniek gebruiken. Op het eerste frame plaatsen we een preloader MovieClip met een eigen klasse "Preloader". In het tweede frame laden we alle klassen en in het derde frame laden en tonen we de inhoud. We plaatsen de inhoud in een MovieClip genaamd Application met een bijbehorende klasse "Application". Dit is waar het vlees van de applicatie naar toe gaat.
Begin met het maken van een nieuw AS3-document. Ik maak het 600x400px, donkergrijze achtergrond, 24 fps. Deze instellingen doen er echter niet toe.
Stel de documentklasse in op Main en druk op OK.
Ga naar Bestand> Publicatie-instellingen, het Flash-tabblad en vervolgens de ActionScript 3.0-instellingen. Typ "frame 2" in het veld "Export classes in frame".
Het is duidelijk dat het ontwerp van een preloader geen invloed heeft op de functie. Ik zal stap voor stap instructies geven, maar voel je vrij om deze delen over te slaan en je eigen aanpak te volgen als je dat wilt. Zorg er alleen voor dat u later opmerkt welke delen ik in de code verwijs.
Teken een rechthoek met afgeronde hoeken en geef deze een blauw verloop. Verander het dan in een MovieClip-symbool, noem het Preloader. Kies ervoor om het te exporteren voor ActionScript en de klasse Preloader aan te roepen.
Teken binnen deze nieuwe MovieClip een nieuwe afgeronde hoekrechthoek met een grijs verloop, verander het in een andere MovieClip en geef het een instantienaam van progressArea.
Ga je gang en match de lay-out van de laag die ik heb op de foto hierboven. Maak vervolgens een duplicaat van de laatste vorm en plaats deze in de voortgangsbalklaag bovenop het voortgangsgebied één. Geef het een lichtblauwe kleurovergang, verander het in een MovieClip en geef het een instantienaam van progressBar. Schakel hulplijnen in voor 9-delige schaling en zorg ervoor dat u de linker- en rechterronde buiten houdt.
Maak tenslotte een dynamisch tekstveld met een instantienaam van percentageText. Maak de tekst rechts uitgelijnd. Op die manier zal het percentageteken nooit bewegen, alleen de cijfers (die hoe dan ook veranderen). Ga naar het insluiten van tekens en zorg ervoor dat u cijfers en het percentageteken (%) insluit. Om een heel kleine preloader te maken, gebruik ik een klein pixelfont genaamd Pixel Mix van dafont.com. Ik geef het ook een blauwe gloed, alleen omdat ik het kan.
Zorg ervoor dat de hele preloader MovieClip in het eerste frame wordt geplaatst en een instantienaam van de preloader krijgt. Maak een nieuwe laag met de naam "AS" en stop (); in het eerste frame. Houd de preloader in zijn eigen laag, "Preloader". Maak nog een laag met de naam "Toepassing". Hier zullen we uiteindelijk de belangrijkste inhoud bewaren.
Maak een nieuw ActionScript-bestand en sla het op in dezelfde map als uw FLA-bestand. Noem het Main.as:
pakket import flash.display.MovieClip; import flash.events.Event; public class Main breidt MovieClip public function Main () uit preloader.addEventListener (Event.COMPLETE, onPreloaderComplete); preloader.setLoaderInfo (loaderInfo); private function onPreloaderComplete (e: Event): void gotoAndStop (3);
Maak een nieuw ActionScript-bestand en sla het op in dezelfde map als Preloader.as:
pakket import flash.display.LoaderInfo; import flash.display.MovieClip; import flash.events.Event; import flash.events.ProgressEvent; openbare klasse Preloader breidt MovieClip uit openbare functie Preloader () openbare functiesetLoaderInfo (ldrInf: LoaderInfo): void ldrInf.addEventListener (ProgressEvent.PROGRESS, onProgress); ldrInf.addEventListener (Event.COMPLETE, onComplete); private function onProgress (e: ProgressEvent): void var percent: int = Math.round (e.bytesLoaded / e.bytesTotal * 100); progressBar.width = percent / 100 * progressArea.width; percentageText.text = procent + "%"; private function onComplete (e: Event): void dispatchEvent (e);
Dus wat doen deze twee klassen?
In de constructor van Main noemen we de aangepaste setLoaderInfo () -methode van onze preloader en geven het LoaderInfo-object door dat is gekoppeld aan Main.
Preloader ontvangt dit object en voegt er twee gebeurtenislisteners aan toe. De ProgressEvent activeert de onProgress-functie, waarin we het percentage van de geladen bytes berekenen in vergelijking met de totale bytes die moeten worden geladen. Het percentage wordt gebruikt om de breedte van de voortgangsbalk en de tekst van ons tekstveld in te stellen.
De complete gebeurtenis wordt eenvoudig teruggestuurd naar Main, die op zijn beurt de hoofdtijdlijn naar frame drie springt wanneer de gebeurtenis wordt ontvangen.
Om iets te hebben dat de werking van de preloader duidelijk laat zien, voeg ik een mooie macrofoto toe van een kat genaamd Runa, genomen door een vriend van mij. U kunt de afbeelding vinden in de bronbestanden die bij deze zelfstudie zijn meegeleverd. Ik heb de bitmap geïmporteerd en ik verander het in een MovieClip genaamd "Cat".
Voel je vrij om elke afbeelding te gebruiken die je geschikt vindt. Geef de clip een instantienaam van 'cat'.
Zoals je op de bovenstaande schermafbeelding kunt zien, heb ik de Cat MovieClip op frame drie geplaatst in de laag Application. Neem de MovieClip die je hebt gemaakt, kat of geen kat, en druk nogmaals op F8 om hem te nestelen in een nieuwe MovieClip die je Application noemt. Exporteer dit voor ActionScript als applicatie.
Maak de klasse Application door een nieuw AS-bestand te starten en het op te slaan als "Application.as". Laat de klasse Application er zo uit zien:
pakket import com.greensock.TweenLite; import com.greensock.easing.Sine; import flash.display.MovieClip; openbare klasse Toepassing breidt MovieClip uit openbare functie Toepassing () TweenLite.to (cat, 7, scaleX: 4, scaleY: 4, onComplete: tweenBack, ease: Sine.easeInOut); private function tweenBack (): void TweenLite.to (cat, 3, scaleX: 1, scaleY: 1, onComplete: reTween, ease: Sine.easeInOut); private function reTween (): void TweenLite.to (cat, 7, scaleX: 4, scaleY: 4, onComplete: tweenBack, ease: Sine.easeInOut);
Dit zal de kat oneindig in en uit laten bewegen, zodat je voor altijd het detail van haar neusvacht zult herinneren. Hoe deze klasse werkt, is niet belangrijk, wat is belangrijk is dat we TweenLite importeren en gebruiken en er zo voor zorgen dat het onderdeel wordt van het SWF-bestand na export.
Laten we nog een minuutje teruggaan naar de schoolbank.
Deze film compileert prima in CS4. De MovieClip van de toepassing is ingesteld om te exporteren op frame 2, tenzij u deze hebt gewijzigd. Als je het hebt veranderd, zie je misschien iets vreemds. Meer hierover in de volgende stap.
Als je CS3 gebruikt, doet deze instelling er echt toe. Je moet gaan en ervoor zorgen dat je het selectievakje "Exporteren in eerste frame" in de eigenschappen van de Application MovieClip uitschakelt, anders wordt alles in het eerste frame geladen!
Dat is niet het enige probleem. Als u probeert te compileren, krijgt u een 1046 Type-foutmelding, waarin staat dat u niet over het type TextField beschikt. Dus zoals je kunt raden, CS3 doet het een beetje anders. Wat is er gaande? Nou, je probeert een TextField in de Preloader MovieClip te gebruiken, maar je hebt het niet geïmporteerd. In CS4 wordt dit automatisch voor u afgehandeld, maar niet in CS3.
Gelukkig is de oplossing eenvoudig, voeg gewoon toe:
import flash.text.TextField;
naar uw Preloader-klasse en u bent helemaal klaar.
Sommigen van jullie hebben misschien al gedacht dat ik Sprite had moeten uitbreiden voor mijn Preloader-klasse in plaats van MovieClip. Welnu, dit is de reden dat ik dat niet heb gedaan; Ik wilde wachten tot dit punt om het naar voren te brengen. Omdat het Preloader-symbool zowel de "ProgressArea" als de "ProgressBar" bevat, die beide MovieClips zijn, zou u dezelfde 1046 Type-fout hebben gekregen.
Dezelfde oplossing is natuurlijk ook hier mogelijk. In feite zou je nu de Preloader moeten veranderen om Sprite uit te breiden in plaats van MovieClip, en als je CS3 gebruikt, zorg er dan voor dat je de Sprite-klasse ook binnen de Preloader-klasse importeert.
Ik noemde een raar verschijnsel in de laatste stap. Als u het vakje "Exporteren in frame 2" van de toepassing uitschakelt en een gesimuleerde download uitvoert, ziet u de preloader verdwijnen, tenzij u het hoofdframe van de preloader ook hebt uitgebreid tot het tweede frame.
Dus wat gebeurt er echt? Simpel gezegd, de eerste stop (); verklaring telt niet. Hoe is dat voor een duidelijke werkstroomplanning? Merk op dat als u een traceerinstructie in het eerste frame na de stop (); bel, het komt eruit. Belangrijk: merk op dat dit probleem alleen zichtbaar wordt als we de download simuleren!
De les die hier wordt geleerd, is vertrouw de gesimuleerde download niet! Het zal je niet precies laten zien hoe dingen zullen laden en functioneren. Je kunt gewoon de stop () houden; en preloader in het eerste frame en je zult het goed doen als het gaat om de inzet. Het kan echter vervelend zijn om een voorbeeld te bekijken, tenzij u de toepassing hebt ingesteld om te exporteren op frame 2. En dat is alleen voor dit specifieke scenario.
In CS3 moet u het vakje Exporteren op de MovieClip van de toepassing uitschakelen, anders zult u uiteindelijk in het eerste frame worden geladen. Maar als je dat doet, kom je dit probleem tegen. Dus ga je gang en breid de preloader uit naar het tweede frame.
Ga je gang en bekijk een voorbeeld van de film. Voer een gesimuleerde download op lage snelheid uit en geniet van de meesterlijk gemaakte preloader (* is alleen van toepassing als je mijn instructies hebt gevolgd tot aan de letter).
Als u de frame-per-frame grafiek of een gegenereerd grootteverslag bekijkt, ziet u dat de code in het tweede frame is geladen. Het eerste frame is slechts 4 kb en bestaat uit de Preloader-klasse en de ingesloten lettertype-glyphs. Nu is 4kb best betaalbaar wat betreft wachttijd voor het zien van de preloader, vind je niet?
Mogelijk ziet u verschillende formaten op CS3 en ziet u zeker verschillende formaten met verschillende lettertypen. Of katten.
Je zou het idee kunnen hebben dat je TweenLite wilt gebruiken om de preloader weg te vagen door de alpha naar 0 te tweenen - maar je wilt TweenLite niet in het eerste frame laden omdat dat nog een 8kb aan de eerste download toevoegt.
Er zijn verschillende manieren om dit te bereiken en we zullen het oplossen door een MovieClip te gebruiken in het derde frame dat de preloader vangt en tweens het. Wanneer dit is voltooid, gaat het verder naar het vierde frame, waar we de toepassing naartoe hebben verplaatst.
De reden om het in het derde frame te plaatsen is dat we het niet in het tweede frame kunnen plaatsen zonder dat TweenLite in het eerste frame wordt geladen.
Nu gaan we weg van de standaard preloadtechniek met drie frames.
Voeg een nieuwe laag toe met de naam "Preloader catcher". Zorg ervoor dat je stop () plaatst; roept frames één, twee en drie op. Dit is om te voorkomen dat je een voorvertoning krijgt bij het simuleren van een download, zoals eerder vermeld.
Ga je gang en verplaats de toepassing naar het vierde frame en verleng Preloader naar het derde frame.
Zorg ervoor dat je een keyframe hebt in het derde frame van de Preloader-catcherlaag. Ga naar dit frame, teken een kleine vorm en zorg dat de alfa van de vulkleur is ingesteld op 0%. Dit moet een onzichtbare MovieClip zijn. Verander het in een MovieClip-symbool genaamd PreloaderCatcher of iets dergelijks.
Exporteer de MovieClip als PreloaderCatcher. Als u CS4 gebruikt, maakt het niet uit of u het voor frame 2 exporteert of niet, omdat het ongeacht wat in dat frame wordt geladen. Wel, het verandert één ding, weet je nog? Of het nu gaat of niet vorm wordt geladen op frame 2. In wezen doet het er niet toe gezien de bijna onbestaande bestandsgrootte voor deze vorm. Je kunt het echter evengoed uitschakelen voor een goede gewoonte.
Maak een nieuw klassenbestand met de naam PreloaderCatcher.as:
pakket import com.greensock.TweenLite; import flash.display.MovieClip; import flash.display.Sprite; import flash.events.Event; importeer Preloader; public class PreloaderCatcher breidt Sprite uit openbare functie PreloaderCatcher () addEventListener (Event.ADDED_TO_STAGE, onAdded); private function onAdded (e: Event): void removeEventListener (Event.ADDED_TO_STAGE, onAdded); var preloader: Sprite = MovieClip (bovenliggend element) .getChildByName ("preloader") als Sprite; TweenLite.to (preloader, 0.5, alpha: 0, onComplete: function (): void MovieClip (parent) .nextFrame (););
Zoals u kunt zien, werkt deze klasse door eerst de preloader te verkrijgen door de ouder als Sprite te casten en door getChildByName ("preloader") aan te roepen, waarbij preloader de naam van het exemplaar is. De preloader is ook een Sprite uitgebracht, daarna wordt TweenLite gebruikt om het uit te faden.
Wanneer de tweening is voltooid, werpt de functie onComplete in TweenLite het bovenliggende object als een filmclip, zodat u de methode nextFrame kunt aanroepen.
Zoals ik al eerder zei, zijn we nu weggegaan van de preloadtechniek met drie frames. Dat is op zich niet bepaald godslastering, maar ik weet zeker dat sommigen van jullie zich afvragen waarom we dat deden. In plaats daarvan hadden we de preloader-tweening kunnen verwerken in de toepassingsclip ...
In dat geval heb je volkomen gelijk! De reden dat ik hier vier frames gebruikte, was om je te laten zien hoe je het moet doen, terwijl je de dingen gescheiden houdt. Tweening van de preloader; behoort dat tot het preloader-gedeelte of het applicatiegedeelte? Preloader zeker, maar in dit geval wilden we niet dat het in het eerste frame zou laden. Daarom eindigen we met deze extra "catcher" -klasse.
Onthoud dat dit allemaal optioneel is. Als je eenmaal weet hoe je alles moet doen, kun je gemakkelijk beslissen wat je situatie vereist.
In stap 7 heb ik je verteld over de problemen met het laden van bezittingen in CS3. Aangezien deze tutorial gericht is op zowel gebruikers van CS3 als CS4, zullen we uitgaan van de kleinste gemene deler en de AssetHolder-aanpak gebruiken. Als u CS4 gebruikt, kunt u de volgende stappen op dezelfde manier uitvoeren en het zal precies hetzelfde werken, of u kunt de AssetHolder-aanpak overslaan.
Begin met het importeren van het "music.wav" -geluid uit de bronbestanden in uw FLA.
Ga naar binnen en exporteer het voor ActionScript en zorg ervoor dat u het selectievakje 'Exporteren in eerste frame' in CS3 uitschakelt. Voor CS4 maakt dit niet veel uit. Ik gebruik Flash CS4 waarvan je waarschijnlijk al hebt vastgesteld, dus de schermafbeeldingen tonen het CS4-dialoogvenster. Als je wilt kun je overschakelen van de standaard MP3-compressie naar iets leukers. Op die manier zal het niet verschrikkelijk klinken.
Laten we nog een paar stappen doorlopen, wat tekst aan de film toevoegen en alles in een AssetHolder MovieClip stoppen!
Druk op Ctrl + F8 om een nieuw MovieClip-symbool te maken. Noem het TextHolder en exporteer het opnieuw voor ActionScript (in CS3) en zorg ervoor dat het selectievakje "In eerste frame exporteren" is uitgeschakeld.
Wanneer je aan het creëren bent, ben je "binnen" van deze MovieClip. Typ een statische tekst en geef deze een witte kleur. Ik gebruik hetzelfde PixelMix-lettertype als voorheen. Om een gesimuleerde lijnkleur te creëren, geef ik het een gloeifiltereffect met de onderstaande instellingen.
Maak een nieuwe laag met de naam AssetHolder. Maak een keyframe op het tweede frame, druk op Ctrl + F8 om een nieuwe MovieClip te maken en noem deze AssetHolder. Exporteer dit niet voor ActionScript.
Maak in de AssetHolder MovieClip drie lagen met de naam AS, muziek en Activa. Omdat 'muziek' de naam is van het geluidsobject dat we gebruiken, is dat de naam die ik de laag noem. Nu moet je een stop plaatsen (); oproep op het eerste frame van de AS-laag.
Maak vervolgens een keyframe op het tweede frame van zowel de laag muziek als de laag Acti