Een betere manier om Flash-banners te maken

Flash-bannerontwikkeling wordt vaak geplaagd door meerdere bestanden, gefragmenteerde code en rommelige tijdlijnen. Deze tutorial laat je zien hoe je een projectsjabloon kunt maken die als een solide basis dient om snel krachtige flash-banners te ontwikkelen, zodat je je kunt concentreren op het tot leven brengen van het creatieve idee.


Stap 1: Projectmapstructuur instellen

Bij het bouwen van meerdere flash-banners is een goed bestandsbeheer essentieel om uw workflow efficiënt te houden. Start uw banner-projectsjabloon door de hieronder getoonde mappenstructuur te maken:


Stap 2: Een Photoshop-sjabloon maken

Nu gaan we een reeks Photoshop-sjablonen maken die kunnen worden gebruikt bij het ontwerpen van een flashbannercampagne. (Maak je geen zorgen als je geen Photoshop hebt, ga door naar stap 5). Het Interactive Advertising Bureau onderhoudt richtlijnen voor advertentieblokken met de gemeenschappelijke dimensies van advertentieblokken (banners). Voor deze tutorial gaan we de drie meest voorkomende maken:

  • De brede wolkenkrabber (160px breed x 600px hoog)
  • De middelgrote rechthoek (300px breed x 250px hoog)
  • Het leaderboard (728px x 90px hoog)

Laten we beginnen met het maken van de sjabloon voor The Wide Skyscraper. Open Photoshop en selecteer Bestand> Nieuw. Configureer de eigenschappen voor uw nieuwe Photoshop-document, zoals hieronder weergegeven:


Stap 3: Laaggroepen toevoegen

Om de lagen in uw Photoshop-bestand net zo gestructureerd te houden als uw projectmappen wanneer het tijd is om een ​​bannerontwerp te maken, gaan we Lagengroepen toevoegen aan het sjabloonbestand om kernontwerpelementen op te slaan.

Gebruik de nieuwe groep in het menu in de rechterbovenhoek van het deelvenster Lagen om de structuur van de laaggroep aan te maken die hieronder wordt weergegeven:

De lagengroep 'Achtergrond' bevat te allen tijde ontwerpelementen die zich op de achtergrond van uw banner bevinden, bijvoorbeeld een kleur of een textuur.

De 'Voorgrond'-laaggroep bevat te allen tijde ontwerpelementen die zich op de voorgrond van uw banner bevinden, zoals een bedrijfslogo.

De 'Frame'-laaggroepen bevatten ontwerpelementen van de belangrijkste momenten in uw reeks of interactie met de bannervlag. Dit kan sleutelberichten, kritieke punten van een animatie of gebruikersinterfaces omvatten.


Stap 4: Opslaan

Uw sjabloon is nu klaar om op te slaan. Ga naar Bestand> Opslaan als en navigeer naar de map 'ontwerp' in de structuur van uw projectmap. Geef het bestand een naam volgens de afmetingen, in dit geval '160x600' en zorg ervoor dat het in Photoshop-indeling is, met de lagen aangevinkt.

Dat is je eerste fantastische flash-bannersjabloon gemaakt! Herhaal deze stappen voor The Medium Rectangle (300px wide x 250px tall) en The Leaderboard (728px x 90px tall). Met deze Photoshop-sjablonen voltooid, zijn we klaar om naar Flash te gaan.


Stap 5: Uw Flash-project maken

Laten we beginnen met het maken van een Flash-project, zodat u kunt navigeren in uw bestandsstructuur in Flash IDE. Open Flash CS4 (het proces lijkt sterk op Flash CS3, hoewel de Flash-interface anders is) en ga naar Venster> Andere panelen> Project. Klik in het paneel Project op de vervolgkeuzelijst Projecten en selecteer Nieuw project. Specificeer de projectnaam als 'BannerTemplate'.

Ga voor de hoofdmap naar de map / banner_template / development / map die u in stap 1 hebt gemaakt met behulp van het mappictogram. Zorg ervoor dat de ActionScript-versie is ingesteld op ActionScript 3.0 en klik op Project maken.


Stap 6: Map met Flash-projectklassen

Nu gaan we de Flash Project-eigenschappen instellen om Flash te helpen het werk uit te voeren door onze lessen voor ons uit te zetten. Klik op de vervolgkeuzelijst met het tandwielpictogram in de rechterbovenhoek van het projectvenster en selecteer Projecteigenschappen. Zoek in het veld 'Save classes in' naar de map / as / die u in stap 1 hebt gemaakt en klik op OK.


Stap 7: Bannerpakketmap

Als u de laatste stap correct hebt uitgevoerd, ziet u dat er nu weinig codehaakjes op uw / as / mappictogram staan. We gaan nu een map maken voor alle klassen die specifiek zijn voor onze bannersjablonen. Selecteer de map / as / en klik op het pictogram van de nieuwe map onder in het deelvenster. Typ in het dialoogvenster dat verschijnt de naam van uw map 'banner' en klik op OK.


Stap 8: Documentklasse bannerbasis

Nu (eindelijk!) Bent u klaar om uw bannerbasisdocumentklasse te maken. Als u niet vertrouwd bent met het gebruik van documentklassen (of klassen in het algemeen), is het een goed idee om eerst deze snelle tip te lezen.

Klik met de / as / banner / map geselecteerd op het pictogram Create Class onder in het paneel. Voeg in het veld Klasse de klassenaam 'Banner' toe achter de naam van het pakket 'banner'. en klik op Klasse maken.

Nu moeten we dit klassenstub nemen en het wijzigen in een functionele basisdocumentklasse. Voeg aan ActionScript toe om de onderstaande code weer te geven:

 pakketbanner import flash.display.MovieClip; public class Banner breidt MovieClip uit // Constanten: // Openbare eigenschappen: // Privé-eigenschappen: privé var-configuratie: Object; // Initialisatie: public function Banner (config: Object = null): void  // Public Methods: public function init (): void trace ("Banner class initialized");  // Beschermde methoden:

Laten we snel de wijzigingen dekken die we hebben aangebracht in de bannerklasse:

  • De MovieClip-klasse geïmporteerd.
  • Maakte de klasse Banner verlengen MovieClip (dus het kan worden gebruikt als een documentklasse).
  • Made the Banner document initialisatie-functie ontvangt een optionele configuratie Object dat we kunnen gebruiken om parameters door te geven.
  • Een openbare init () -functie gemaakt die een trace uitvoert wanneer deze wordt aangeroepen. De reden waarom dit handig is, wordt uitgelegd wanneer we beginnen met het maken van de banner-FLA's.

Op dit moment doet dit niet veel, maar het belangrijkste hier is om een ​​klassenstructuur te bouwen die ons in staat stelt bannerlogica te centraliseren en herhaling van code te verminderen. Vanaf hier kunnen we de Banner-klasse nu uitbreiden om onze afzonderlijke bannerdocumentklassen te maken.


Stap 9: Banner-documentklassen

Laten we beginnen met het klassenbestand voor The Wide Skyscraper. Maak een klasse "WideSkyscraper" in uw Flash-project / as / banner / map op dezelfde manier als voor de klasse "Banner". Neem de gegenereerde klasse-stubcode en voeg deze toe zodat het er zo uitziet:

 pakketbanner public class WideSkyscraper breidt banner uit // Constanten: // Openbare eigenschappen: // Privé-eigenschappen: privé var-configuratie: Object; // Initialisatie: openbare functie WideSkyscraper () super ();  // Public Methods: public override function init (): void trace ("WideSkyscraper class initialized"); super.init ();  // Beschermde methoden:

Laten we de wijzigingen bekijken die we hebben aangebracht in de klasse WideSkyscraper:

  • De WideSkyscraper-klasse uitbreiden met Banner.
  • Heeft de documentfunctie basisbasisbanner klasse met super () in de WideSkyscraper-documentfunctie opgeroepen.
  • Overschreef de functie basis banner klasse init () met een aangepaste functie init () die een trace uitvoert wanneer deze wordt aangeroepen, en vervolgens de functie init () van de klasse Banner aanroept.

Herhaal nu deze stap om de bannerdocumentklassen voor de MediumRectangle en het Leaderboard te maken. Nu dit is voltooid, is onze documentklasse-structuur nu op zijn plaats.


Stap 10: Uw banner maken FLA's

Nu kunnen we beginnen met het maken van de .FLA-bestanden die we nodig hebben. Nogmaals, laten we beginnen met het maken van de sjabloon voor The Wide Skyscraper (160x600).

Open Flash CS4 en selecteer Bestand> Nieuw. Selecteer "Flash-bestand (ActionScript 3.0)" als Type en klik op OK. Bewerk de instellingen Publiceren en Eigenschappen in het deelvenster Eigenschappen zoals hieronder weergegeven:

Bewaar nu uw bestand als "160x600.fla" in de / ontwikkeling / map van uw project.


Stap 11: Een relatief bronpad instellen

We gaan nu een relatief bronpad en een relatief publiceerpad instellen. Dit wordt belangrijk wanneer u een kopie van uw bannersjabloonproject wilt maken, de naam ervan wilt wijzigen en wilt gaan werken of wanneer u de sjabloon aan iemand anders wilt geven. Absolute paden kunnen een echte pijn zijn om te updaten (vooral over meerdere bestanden!) Elke keer dat je een project wilt starten.

Ga naar Bestand> Publicatie-instellingen en klik op het tabblad Flash om het bronpad in te stellen. Klik nu op de knop Instellingen naast de vervolgkeuzelijst Script om het venster Geavanceerde ActionScript 3.0-instellingen te openen. Zorg ervoor dat Bronpad het actieve tabblad is en klik op de '+' om het pad './as' toe te voegen. Nu kunt u de tekst 'banner.WideSkyscraper' toevoegen aan het veld Documentklasse. Uw venster zou er als volgt uit moeten zien:

Klik op OK en uw document is nu gekoppeld aan de klasse WideSkyscraper die u in stap 9 hebt gemaakt.


Stap 12: Een relatief publicepad instellen

Als u het publicatiepad wilt instellen, gaat u naar Bestand> Publicatie-instellingen en klikt u op het tabblad Indelingen. We hebben het HTML-bestand niet nodig, dus schakel dit selectievakje uit. In het publicatiepad voor de SWF target u de / www / map in uw projectmap, zoals hieronder wordt weergegeven. Als alles er goed uitziet, klik je op OK. Uw gecompileerde swf wordt nu in de map / www / geplaatst wanneer u een voorbeeld bekijkt of publiceert.

Er is wat meer informatie hierover in deze Quick Tip-screencast.


Stap 13: De hoofdtijdlijn

Om een ​​of andere reden vereisen sommige systemen voor advertentieweergave dat het eerste frame van uw film leeg is (Eyeblaster is hiervan een voorbeeld), of om hun klassen te importeren / hun ActionScript op het eerste frame op te nemen. Vaak zullen de Flash-extensies die u voor deze advertentieweergavesystemen kunt installeren, weigeren uw bestand te verpakken als u zich niet aan deze voorwaarde houdt.

Dit is waar de init () -functie die u in uw documentklasse hebt gecreëerd eerder binnenkomt. Om ervoor te zorgen dat onze sjabloon in deze situatie kan worden gebruikt, gaan we een tijdlijn met twee frames maken met het eerste frame leeg, het tweede met een stop actie en een aanroep van de init () functie zoals hieronder getoond:

Als je dit bestand nu compileert, zou je het volgende moeten krijgen in je Output-paneel, dat bevestigt dat je WideSkyscraper-documentklasse en de bannerbasisdocumentklasse werken:

 WideSkyscraper klasse geïnitialiseerd Banner klasse geïnitialiseerd

Stap 14: Een bibliotheeksymboolklasse maken

Nu gaan we een bibliotheeksymbool maken om de banneradvertentie vast te houden, of het nu een animatie of een interface is. Ga naar Insert> New Symbol en geef het de naam "creative", vink Exporteren voor ActionScript aan en geef het de klasse "Creative". Controleer of het type filmclip is en klik op OK.

Voeg nu wat tijdelijke tekst toe op het podium, zoals hieronder weergegeven, zodat je iets kunt zien wanneer je het later toevoegt aan je stage in code:

En dat is alles wat we nodig hebben van het .FLA-bestand! Ga je gang en maak de andere FLA's voor The Medium Rectangle (300 breed x 250 hoog) en The Leaderboard (728 breed x 90 hoog). Als dit is gelukt, kunnen we onze Banner-documentklasse opnieuw bekijken en beginnen met het toevoegen van kernfunctionaliteit aan al deze banners.


Stap 15: Een achtergrondsprite toevoegen

Bijna alle bannerrichtlijnen adviseren u om een ​​degelijke achtergrondkleur in uw Flash-bestand te plaatsen, omdat de achtergrondkleur van het werkgebied kan worden overschreven wanneer het Flash-object is ingesloten in een HTML-pagina. In plaats van elke FLA in te gaan en een vorm op het podium te tekenen, kunnen we deze taak in de code centraliseren. Open uw bannerklasse en werk het bestand bij met de onderstaande code:

 pakketbanner import flash.display.MovieClip; import flash.display.Sprite; import flash.display.Graphics; public class Banner verlengt MovieClip // Constanten: private const BG_COLOR: Number = 0x0E0E0E; // Public Properties: // Private Properties: private var config: Object; // Initialisatie: public function Banner (config: Object = null): void  // Public Methods: public function init (): void trace ("Banner class initialized"); // Maak achtergrond var bg: Sprite = nieuwe Sprite (); bg.graphics.beginFill (BG_COLOR); bg.graphics.drawRect (0,0, stage.stageWidth, Stage.stageHeight); bg.graphics.endFill (); addChild (bg);  // Beschermde methoden:

Laten we de wijzigingen die we hebben aangebracht in de Banner-klasse herhalen:

  • De klassen Sprite en Graphics geïmporteerd.
  • Een constante BG_COLOR toegevoegd en hieraan een hexadecimale waarde toegekend.
  • Creëerde een bg-sprite en tekende een rechthoek met een vulling van BG_COLOR die onze hele fase beslaat.
  • Bg toegevoegd aan de displaylijst.

Nu hoeft u alleen de BG_COLOR-waarde te wijzigen om de juiste kleurenachtergrond in al uw banners te krijgen.


Stap 16: Toevoegen aan de displaylijst

Nu moeten we het Creative-symbool dat we in stap 14 hebben gemaakt toevoegen aan de weergavelijst, omdat dit de container is voor de creatieve uitvoering. Dit is echt gemakkelijk om te doen, werk gewoon de init () functie bij:

 // Public Methods: public function init (): void trace ("Banner class initialized"); // Maak achtergrond var bg: Sprite = nieuwe Sprite (); bg.graphics.beginFill (BG_COLOR); bg.graphics.drawRect (0,0, stage.stageWidth, Stage.stageHeight); bg.graphics.endFill (); addChild (bg); // Creëren Creative var creative: Creative = new Creative (); addChild (creatieve); 

Stap 17: Een aanklikbaar gebied toevoegen

Een andere veel voorkomende eis is dat het klikbare gebied van de banner een nieuw venster opent op basis van een "clicktag" -variabele die is doorgegeven vanaf de HTML-pagina wanneer het Flash-object is ingesloten. Laten we een hulpprogramma maken om dit voor ons te regelen. Ga in het deelvenster Flash-project naar uw / as / banner / map en maak een nieuwe submap met de naam / util /. Maak hier een nieuwe klasse met de naam 'ClickArea' en codeer deze zoals hieronder getoond:

 package banner.util import flash.display.Sprite; import flash.display.Graphics; import flash.display.Stage; import flash.events.MouseEvent; import flash.net.URLRequest; import flash.net.navigateToURL; public class ClickArea breidt Sprite uit // Private Properties: private var clickthroughURL: String; // Initialisatie: openbare functie ClickArea (loaderInfo: Object, stage: Stage) // Maak aanklikgebied this.graphics.beginFill (0x00FF00,0); this.graphics.drawRect (0,0, stage.stageWidth, Stage.stageHeight); this.graphics.endFill (); // Bepaal de doorklik-URL (door bekende naamgevingsconventies te controleren) if (loaderInfo.parameters.clicktag! = Null) clickthroughURL = loaderInfo.parameters.clicktag;  else if (loaderInfo.parameters.clickTag! = null) clickthroughURL = loaderInfo.parameters.clickTag;  else if (loaderInfo.parameters.clickTAG! = null) clickthroughURL = loaderInfo.parameters.clickTAG;  // Knopgedrag toevoegen this.buttonMode = true; this.addEventListener (MouseEvent.CLICK, mouseClickHandler, false, 0, true);  // Openbare methoden: // Beschermde methoden: privéfunctie mouseClickHandler (e: MouseEvent): void if (clickthroughURL! = Null) navigateToURL (nieuwe URLRequest (clickthroughURL), "_ blank");  else trace ("Clickthrough"); 

Laten we snel samenvatten wat de klasse ClickArea aan het doen is:

  • Importeert de benodigde Flash-klassen.
  • Is gebaseerd op de klasse Sprite.
  • De constructorfunctie van ClickArea vereist twee variabelen, het loaderInfo-object en het werkgebied. We zullen deze doorgeven vanuit onze Banner-documentklasse.
  • Hiermee tekent u een transparant klikbaar gebied, de breedte en hoogte van het werkgebied.
  • Poogt een doorklik-URL uit het loaderInfo-object te halen en dit toe te wijzen aan de clickthroughURL-variabele.
  • Voegt gedrag toe bij muisklik waarmee een clickthroughURL in een nieuw venster wordt gestart of een trace wordt uitgevoerd als er geen URL beschikbaar is. Dit is handig bij het testen in de Flash IDE.

Open nu je bannerklasse opnieuw en voeg toe import banner.util.ClickArea onder uw lijst met Flash-klasseimports en werk de init () -functie bij om de ClickArea te instantiëren en toe te voegen aan de weergavelijst zoals hieronder getoond:

 // Public Methods: public function init (): void trace ("Banner class initialized"); // Maak achtergrond var bg: Sprite = nieuwe Sprite (); bg.graphics.beginFill (BG_COLOR); bg.graphics.drawRect (0,0, stage.stageWidth, Stage.stageHeight); bg.graphics.endFill (); addChild (bg); // Creëren Creative var creative: Creative = new Creative (); addChild (creatieve); // Maak klikbaar gebied var clickArea: ClickArea = new ClickArea (loaderInfo, stage); addChild (clickArea); 

We voegen de basisprincipes van bannerontwikkeling toe aan deze klasse, maar de echte waarde is dat we deze aan al onze banners toevoegen in één gecentraliseerde klasse. Alle gebruikelijke taken die u herhaaldelijk in banners aantreft, kunnen hier worden toegevoegd om uw tijd vrij te maken voor het maken van de unieke animatie of interactie die de banneradvertentie heeft.


Stap 18: Je FLA's publiceren

Met al onze code goed georganiseerd, begint het openen van de individuele FLA's en publiceren ervan als een gedoe. Het goede nieuws is dat we dit ook kunnen automatiseren. Ga naar je Project-paneel en vink het vinkje naast elke banner-FLA-indeling aan (als je ze niet in deze lijst kunt zien, klik dan op de vervolgkeuzelijst met het tandwielpictogram en selecteer Vernieuwen) zoals hieronder wordt weergegeven:

Nu kun je al je banners publiceren naar de / www / map die je in stap 12 hebt geconfigureerd door op de vervolgkeuzelijst met het tandwielpictogram te klikken en Project publiceren te selecteren.


Stap 19: HTML-presentatiepagina

Het laatste element dat we moeten invullen om onze bannerprojectsjabloon te voltooien, is een HTML-pagina te maken om ze te presenteren zodat ze eenvoudig aan een klant kunnen worden getoond. Download SWFObject en plaats swfobject.js in de map / www / en maak vervolgens een HTML-bestand in de editor van uw keuze en schrijf de onderstaande code:

     Banner signoff-sjabloon      

U kunt meer lezen over het gebruik van SWFObject in de online documentatie, maar laten we snel de belangrijkste dingen bespreken die we hier doen:

  • Twee css-stijlen opgeven om wat ruimte rond de pagina en de afzonderlijke banners te maken.
  • Waaronder swfobject.js, een testklik maken om door te geven aan onze banners en de swfobject-insluitinstructies schrijven.
  • Het definiëren van een div-structuur en het toewijzen van een unieke id aan een div voor SWFObject om dynamisch te vervangen door ons SWF-bestand.

Bewaar dit bestand nu als index.html in de / www / map. U kunt nu een voorbeeld van uw banners weergeven in een webbrowser of deze map ergens uploaden zodat uw klant het volgende kan bekijken:


Stap 20: bekijk uw projectbestandstructuur

Laten we afsluiten door onze structuur van de gevraagde map te bekijken en ervoor te zorgen dat alle bestanden zich op de juiste plaats bevinden:

U hebt nu een projectsjabloon met:

  • Een set van Photoshop-sjablonen om de illustratie in te produceren.
  • Een set Flash-sjablonen om bibliotheekactiva te importeren in en tijdlijnanimaties te maken in.
  • Een documentklasse-structuur waarmee u functionaliteit in een of alle bannerindelingen kunt implementeren.
  • Een manier om al uw banners in één keer samen te stellen.
  • Een HTML-pagina om alle banners samen te bekijken voor uzelf en uw klant.

Conclusie

Deze tutorial is eigenlijk pas het begin. Identificeer terugkerende taken in uw bannerprojecten en pas uw projectsjabloon aan om deze aan te pakken, zodat uw workflow zo veel mogelijk wordt versneld. Breid je uit door je favoriete lichtgewicht frameworks op te nemen (TweenNano is geweldig voor scripted animation) en bibliotheken, zodat je favoriete tools binnen handbereik zijn wanneer je je volgende project start.

Als je Subversion of een ander soort bronbeheer gebruikt, zou dit een geweldig project zijn om in je repository op te nemen, zodat je het na verloop van tijd kunt verbeteren en de laatste revisie kunt bekijken voor elk bannerproject dat je start.

Hebt u ideeën over hoe dit kan worden verbeterd of kunt u opmerkingen maken over problemen die uw bannerontwikkeling belemmeren? Neem deel aan de onderstaande discussie!