(category) LIST of posts

Flash spil – individuel aflevering

Deadline Søndag 20-04-2007 – 23:59

Der skal indleveres en fla-fil med personligt udviklet spil – som fungerer.
Spillet skal afspejle hvad du har studeret dig til og lært.
Det må gerne være ‘kraftigt’ inspireret af de gennemgåede (eller andre) eksempler, hvis kodningen tager modet helt fra dig.
Koden skal kommenteres. (/* kommentarer og personlige forklaringer*/) Har du fundet en allerede kommenteret udgave, skal den suppleres med DINE forklaringer så jeg kan aflæse DIN forståelse.

Spillet skal indeholde:

  • en Splash side. (indgang med knap til selve spilscenariet)
  • et AS3 frame-script på hovedscenen med relevante og forklarende personlige kommentarer.
  • et vind-scenarie
  • et tab-scenarie

Inspiration:

  • Se opgaveformuleringen for hele workshop2

God fornøjelse –
hilsen Kamilla

knap og script (as2)

Gennemsigtig knap?
- Man undlader at give knappen indhold på de 3 første frames, som handler om dens udseende
- man lægger kun en shape på HIT-framen i en keyframe, så knappen blir ‘musefølsom’ men ellers er usynlig.

Skjulte knapper over et baggrundsbillede, det som svarer til ‘hotspots’ eller ‘image-map’ i HTML.

Anvendelser:
Knap-symbolers udseende omfatter umiddelbart kun UP, OVER, DOWN.
Har man brug for mere underholdning – på fx. rollout, release…, kan man bruge følgende teknik:
Læg en movieclip – der har lært flere tricks – under en gennemsigtig knap, som så kodes til at styre denne knap-underholdnings-movieclip, samtidig med at den styrer funktionaliteten iøvrigt:

on (press) {
under_mc.gotoAndPlay(“bask”);
noget andet;
}
on (release) {
under_mc.gotoAndPlay(“flyv”);
noget andet;
}
on (rollover) {
under_mc.gotoAndPlay(“loefthovedet”);
noget andet;
}
on (rollout) {
under_mc.gotoAndPlay(“pip”);
noget andet;
}

Man kan også kode movieclips direkte som om de var knapsymboler:

on (release) {
this.gotoAndPlay(“flyv”);
et.andet.objekt.gørnoget();
}

Og så er der den omskrevne knapkomando – direkte fra en frame-action – event function:

mc.onRelease=function() {
this.gotoAndPlay(“flyv”);
et.andet.objekt.gørnoget();
}

Sektioneret movieclip kontrol (as2, as3)

Objektet / Animationen

_ Tegn fx. en frame by frame animation i en movie_clip (opret og navngiv Symbolet i library)
_ Grib et objekt i nærheden af dig og hold det i den ene hånd mens du tegner. Bevæg det lidt efterhånden som du animerer det..
_ (F5,F6,F7 – højreklik for frame-menu) – f7 er en tom keyframe
_ OnionSkin slået til, for at se forrige tegning
_ Brug flere lag for flere elementer der indgår i hver tegning (eks. : gaffel-lag, mad-lag)
_ Træk en ‘instace’ af symbolet ud på scenen og ret det til (flyt, skaler..)
_ gem fla-filen og ‘test movie’ (ctrl+enter)

frame_by_frame
onion_skin

Play Stop knapperne:

_ Opret button-symboler i Library til en stop og en play-knap. Knappernes tidslinie skal bare bruges til deres umiddelbare udseende – og hit-framen til at bestemme hvor stort et område musen skal reagere på.
_ Træk instances af dem ind på scenen.
_ Navngiv alle movieclips på scenen, som skal kontrolleres af actionscript. (properties > instance-name).

Hvornår skal Hvem gøre Hvad
Under hvilke omstændigheder

AS2
Marker knap på scenen, åbn script-vinduet og tast henholdsvis

on (release) {
	sti.til.objektnavn.stop();
}
on (release) {
	sti.til.objektnavn.play();
}

AS3
Her skal knappen ikke markeres, medn derimod den frame scriptet skal stå på.

//framescript
playknap.addEventListener(MouseEvent.CLICK, mcPLAY);
function mcPLAY(e:MouseEvent) {
	sti.til.movieclipinstancenavn.play();
}
stopknap.addEventListener(MouseEvent.CLICK, mcSTOP);
function mcSTOP(e:MouseEvent) {
	sti.til.movieclipinstancenavn.stop();
}

Brug gerne sigtekornet til at pege på target i actionpanelet. Chek også for fejl før du forlader actions-vinduet.

Objektets Timeline-tabel

_ ‘hjemme hos’ movieclippet (på dens egen tidslinie) skal der laves nogle animerede variationer af den første – nogle forløb, som knapperne senere skal få den til at udspille. Efter den første spiller rækkefølgen ikke den store rolle. Marker flere frames af gangen gennem alle lagene, og træk for at flytte en hel sektion – ALT+flyt laver kopier.
Tidslinien inddeles således i mindre sektioner.
_ På et Labels-lag indsættes en navngivet keyframe (properties > frame name – ingen fancy tegn) for hver gang et forløb starter.
_ På et actions-lag indsættes en keyframe med en afviklings kommando på hver forløbs sidste frame – det vil typisk være stop(); men kunne også være gotoAndPlay("labelname"); hvis den skal loope.

Der kan også være enkelte stillestående frames, man har brug for at navngive – fx. “gul”, “blaa”, eller en tom keyframe: “forsvind”..
Hovedsagen er at hver sektion skal give mening med dens navn – og at tidslinien skal være overskuelig og nem at redigere.

Goto Knapperne:

_ Flere knap-symboler i Library, eller genbrug.
_ Denne gang skal de referere en frame-label

AS2

// buttonscript
on (release) {
	sti.til.objektnavn.gotoAndPlay("framelabel");
}

AS3

// framescript
knap.addEventListener(MouseEvent.CLICK, mcGO);
function mcGO(e:MouseEvent) {
	sti.til.movieclipinstancenavn.gotoAndPlay("frameLabelNavn");
	// Prøv også med gotoAndStop("frameLabelNavn");
}