Ergens in het begin van mijn stage vroeg Bram kan je een slideshow maken voor in een htmlpagina te embedden. Alle klasieke dingen zijn aanwezig met als extra feature dat er verschillende instances met dezelfde fotos mooi naast elkaar kunnen draaien en er nooit terzelfdertijd 2 dezelfde foto’s te zien zijn.Blijkbaar had hij al een as2 versietje en hij vond het wel fijn om dit in mooie overzichtelijke klasses te hebben die lekker uitbreidbaar waren.

Daarop begon ik met eerst een simpele slideshow die een xml aangeleverd kreeg met daarin informatie zoals de paden naar de images maar ook een autosizeboolean, randomboolean, tweenTime, duration, loopboolean etc.

Afhankelijk wat je bij deze waarden invult zal je slideshow anders reageren.
Zo zal de random de foto’s door elkaar gooien, de loop zorgt er voor dat je op de laatste foto blijft hangen, enz.

Het heeft al bij al nog wat voeten in de aarde gehad om dit te maken en ervoor te zorgen dat het ram geheugen beperkt bleef aangezien er verschillende instances zonder problemen naast elkaar moesten draaien.

Daarna begon ik aan de multiinstancemodus. Hiervoor extende ik gewoon de slideshowklasse en maakte er verschillende instances van. Het probleem van dezelfde foto’s op eenzelfde tijdstip was tamelijk snel opgelost door een verschillende startSlide mee te geven. Dus instanceA begint op 0, instanceB op slides.length / aantalInstances enz. , maar dan kwam het probleem.

De randomfunctie, elke slideshow gooide zijn array door elkaar en speelde die dan mooi af, maar natuurlijk hoe gering ze ook waren de dubbels kwamen voor. Dus begon ik een functie uit te werken waarbij elke array op elke item checkte of het op dezelfde positie voorkwam of niet. Jammer genoeg was dit te intensief naar het einde van de controle toe, want dan dreigde de functie soms vast te lopen in een oneindige loop omdat de keuzes vrij beperkt waren en er toch perse niet dezelfde slides op hetzelfde moment voor mochten komen. De array in een lus steken was ook geen oplossing omdat de controle dan oneindig zou loopen, het zou wel opgelost geraken maar ik zag wel dat dit niet de oplossing was.

En toen schrapte ik even heel veel en begon opnieuw met de random in gedacht, de architectuur van de slideshowklasse werd overhoop gesmeten en we implementeerden pseudo randomnessgoodies die elke slideshow beinvloede en het was af!

Hoewel…

Gisteren kwam ik op een bugje maar ik ben er nog niet in geslaagd het te reproduceren.

En…

Ik ben terzelfdertijd bezig om een offline slideshowtool op poten te zetten met superlekkere PV3D effectjes maar daarover later meer.

De dag na de dag vol particle plezier begint vrij rustig maar wordt al snel een stressy ontploffende bom want de mentossite moet vanavond in de lucht en het design is nog niet af, de franse teksten zijn er nog niet, ow de nederlandse zijn ook nog niet compleet aangeleverd!

Dus rijst al snel de vraag wordt de site in AS3 met particle-effect of AS2 zonder particle-effect (omdat Bram behoorlijk sneller is in AS2, voor nu toch nog ;-) )

Hij neemt het risico en zegt dat ik het in AS3 mag doen en ik juich!
Natuurlijk is er het probleem van de tijd, de structuur die nog niet volledig afgewerkt is en zo meer.

Dus begin ik een frameworkje uit te bouwen dat bestaat uit 2 Movieclips die de basis vormen voor elke taal en dezelfde basisklassen hebben zodat het simpel (en vooral snel) is om het franse luik in te voegen.
Die basisklassen hebben als voordeel dat elke aanpassing in de code direct van toepassing is op de 2 talen zonder extra lijnen code en het natuurlijk heel overzichtelijk is.

Het einde van de werkdag nadert, alle code die er momenteel in kan zitten met wat basisanimaties en zo meer is volledig, en het design is bijna volledig in flash gezet zodat er eindelijk een startversie gepubliceerd kan worden. Maar dan wordt pas duidelijk hoeveel werk er nog te doen valt, ik kijk snel even op mijn horloge , controleer wanneer mijn laatste trein vertrekt en schat de kans klein in dat ik hem zal halen.

Eric doet verder aan design geeft alles door, ik prop het erin en we gaan verder, snel snel snel!
De fles cola die ik vanmorgen gekocht heb loopt op zijn einde dus zoek ik achter nog wat meer caffeïne wanneer Ivan(Project Manager) me belooft om me van Red Bull te voorzien als het allemaal in goede banen blijft lopen.

Ongeveer 2 uur, de tijd verstrijkt en de nederlandse pagina vordert.

Maar elke keer stuiten we op kleine dingen die nog niet in orde zijn zoals een tekst voor de bevestiging van dit, daarna dat en al die dingen die bij een last-minute project horen.

Rond 2.30 is de nederlandse structuur is volledig af, hier en daar nog wat aanpassingen, wat geklooi om de tekst perfect te krijgen.

Snel met Bram de serverside bespreken en erin gooien.
En Eric heeft alles van de franse zijde al in movieclipjes gestoken dus ik sleep alles in mijn fla en houd de vingers gekruist als ik ctrl-enter indruk. En snel ook de franse bevestigingspagina erin gooien.

Oef slecht 1 error omdat een instance name niet correct was, hopsa fla naar Eric zodat hij laatste positionering kan aanpassen, het meest wispelturige font uit mijn flashcarriere deftig kan publishen en we eindelijk naar huis kunnen.
Ow het is waar de treinen rijden nog niet voor de komende 2 uur, dan maar even wachten ondanks het enorm verleidelijke aanbod van Ivan om me naar huis te rijden.

Eenmaal ’s morgens denk ik: foert, nu ga ik toch niet meer slapen en besluit dan maar om nog een half dagje erbij te pakken en de laatste bugjes uit de site te halen.

Om 8 uur een heerlijk omeletje gaan eten met Bram en het voelt alsof ik dezenacht een heerlijk nachtrust achter de rug heb.

Dus vlieg met volle moed aan de slideshowklassen en optimaliseer deze om zo weinig mogelijk RAM te verbruiken.
Regelmatig moet er nog een pruts afgewerkt worden aan de mentossite maar de dag verloopt verder eigenlijk rustig.

Om 1 uur meeting met Jan ( Oprichter van Design is Dead ) wat een klein uurtje duurt en erna wat afwerken en correct plaatsen van files en alle onnodige klasses wegsmijten en laptopje toe.

’s Morgens hoor ik dat er een leuke opdracht voor Mentos te wachten staat en zie ik al enkele van de eerste designs. Direct zie ik de spuitende colafles staan die een straal spuit die op een helm lijkt uit de Tour de France.

De eerste vraag van Bram is dan ook, kan jij iets maken in flash zodat de fles echt spuit, stel dat we een mentosje in de fles laten vallen en ze dan natuursgetrouw cola laat spuiten.
Dus eerst spectaculair hoog en dan geleidelijk aan minder.

No problemo zeg ik!
Op FITC had ik al een prachtige sessie van Seb Lee Delisle gezien over particles dus ik wist dat het niet zo moeilijk zou zijn. Jammer genoeg was dit verkeerd gedacht, 100′den keren CTRL + ENTER in flash met verschillende textures, verschillende soorten spuiten, verschillende soorten parameters.

De verschillende soorten parameters uitzoeken was waarschijnlijk nog het moeilijkste aan de hele zaak.
Het was als een touwdanser op een slap koordje proberen te dansen en de fijne lijn tussen kwaliteit en prestatie vinden.

Maar uiteindelijk is een preview waar de klant HELEMAAL wild van was er toch uitgekomen.
Uiteindelijk resultaat hier

Mijn eerste flashopdracht binnen design is dead.

Voor de Lokerse Feesten moet er een header gemaakt worden op de hoofdpagina die een slideshow af kan spelen van de artiesten en die een showreel afspeelt die de pluspunten van de Lokerse Feesten in de kijker zet.

Veel problemen waren er niet buiten het feit dat de hele fla al tijdlijnsgebaseerd opgebouwd was, wat een developersnachtmerrie is. Dus in het begin wat gepruts met de tijdlijn en het herschikken van de animaties en keyframes maar daarna verloopt de ontwikkeling vrij snel.

Resultaat bevindt zich hier