Preloader ekstern
Den nemmeste relaterede tutorial – er nok denneher:
monkeyflash.com/flash/creating_a_custom_preloader
var ldr:Loader = new Loader(); ldr.load(new URLRequest("content.swf")); ldr.contentLoaderInfo.addEventListener(Event.OPEN, loadOpen); ldr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); function loadOpen(e:Event):void { trace("Loading begun"); } function loadProgress(e:ProgressEvent):void { var percentLoaded:Number = e.bytesLoaded/e.bytesTotal; percentLoaded = Math.round(percentLoaded * 100); trace("Loading: "+percentLoaded+"%"); } function loadComplete(e:Event):void { addChild(ldr); trace("Complete"); }
Created: 2 April 2009 • by admin
Categories: preloader • snippet
Comments: be the first to comment
Eksempler Præsentation
revafrance af soleilnoir
stayfocus
billyharveymusic
ringelgoslinga
http://www.sonyericsson.com/cws/cws/home?cc=dk&lc=da
http://www.pixelpeach.com/2009/flash/
http://www.plasticparticles.de/particle.html
http://www.phatterism.com/
www.sfmoma.org/projects/artscope/index.html
Created: 1 April 2009 • by admin
Categories: eksempel • hyperliste
Comments: 1 comment, add one
Preloader intern
Hvor preloader af eksterne filer håndteres med “contentLoaderInfo”, ligger den interne info om enhver flashfil i “loaderInfo”.
Forbered følgende:
Dynamiak tekstfelt: pct_txt
Animeret movieclip på 100 frames: frames100_mc
flashscope.com: the-most-creative-flash-preloaders-of-all-times
// placeres på en keyframe - før alle andre frames .. // Husk at trykke CTRL+ENTER 2 gange for at teste preloader. stop(); loaderInfo.addEventListener(ProgressEvent.PROGRESS, pHANDLER); function pHANDLER(e:ProgressEvent):void { var pctLoaded:int = Math.round(e.bytesLoaded/e.bytesTotal * 100); pct_txt.text=pctLoaded.toString()+" %"; frames100_mc.gotoAndStop(pctLoaded); } loaderInfo.addEventListener(Event.COMPLETE, cHANDLER); function cHANDLER(e:Event):void { gotoAndStop("scene1"); }
Created: 1 April 2009 • by admin
Categories: preloader • snippet
Comments: be the first to comment
Timeline til navigation
Scenen (eller et movieclip) er vandret delt op i kapitler / sektioner / scenarier – som udgør stationerne i en navigation.
En sektion er en sekvens af en eller flere frames – der med fordel kan indledes med en label – og kan afsluttes med en play-back action (fx. stop(); eller gotoAndPlay(en_eller_anden_frame);).
Den første sektion er som regel den, filmen starter med.
Tidslinien er lodret delt op i lag efter keyframes funktionalitet og varighed (fx. actionscript, labels, og forskellige slags indhold).
Præsentation / site
Dette er en traditionel timeline-baseret strukturering af en præsentation.

Indholdet på scenens keyframes er samlet i overordnede movieclips.
Selve knapperne til brug for navigationen kunne ligge direkte på scenens frames eller være organiseret i overordnede movieclips som menuer.
På scenens Labels-lag: keyframes med labels, som indleder de forskellige sektioner.
På scenens Actions-lag: keyframes med actions (som regel stop(); ), som afslutter de forskellige sektioner.
På scenens første action-lag: knapfunktioner, fx.
stop(); home_but.buttonMode=true; home_mc.addEventListener(MouseEvent.CLICK, gohome); function gohome(e:MouseEvent) { gotoAndStop("home"); }
Se Det konkrete eksempel på Mini site
Varieret indhold
Nedenstående eksempler er sektionerede tidslinier på movieclips.
Navigationen er ikke nødvendigvis tydelig for brugeren, men bliver en metode til at gøre objekter komplekse, på en overskuelig måde. Play-back kommandoer som gotoAndPlay() giver udvikleren mulighed for at kunne variere movieclippets udseende eller ‘adfærd’.

hund_mc.gotoAndPlay("sit");
Denne kodelinie kan optræde i forbindelse med forskellige events eller if-betingelser.
Metoden er praktisk og ligetil – og også god at falde tilbage på, hvis det er uoverskueligt at scripte sig til forskellige tilvalg, eller variationer.

Følgende tidslinier er ikke opdelte i sektioner, der navigeres på deres frames med udregnede tal og ikke labels.
Denne tidslinie ville kunne bruges til et slideshow eller galleri, med et nyt billede på hver frame.
Kommandoen gotoAndSop(currenFrame+1); i en eventlistener kan bruges på en next-knap eller iværksættes af en timer.
Dette eksempel er bare en movieclip med en animeret tidslinie. Med kommandoen gotoAndStop(tal); hvor tallet er en udregning på baggrund af et imput, kan det visualisere en udvikling eller en gradvis forandring i en proces. Fx. i en preloader.
Created: 31 March 2009 • by admin
Categories: navigation • oevelse • overblik
Comments: be the first to comment
Drop_and_Catch classes
fruit class
package { import flash.display.MovieClip; import flash.events.*; public class fruit extends MovieClip { var ySpeed; var points; public function fruit() { } function INIT() { position(); addEventListener(Event.ENTER_FRAME, update); } function update(e:Event) { y+=ySpeed; if (y>stage.stageHeight) { position(); } } function position() { y=0; x=Math.random()*stage.stageWidth-width; ySpeed=(Math.random()*10)+2; } function EXIT() { removeEventListener(Event.ENTER_FRAME, update); } } }
basket class
package { import flash.display.MovieClip; import flash.events.*; public class basket extends MovieClip { public function basket() { INIT(); } function INIT() { addEventListener(Event.ENTER_FRAME, update); } function update(e:Event) { x=stage.mouseX; y=stage.stageHeight-height; } function EXIT() { removeEventListener(Event.ENTER_FRAME, update); } } }
doc class
package { import flash.display.MovieClip; import flash.events.*; import flash.ui.Mouse; public class doc extends MovieClip { var hart=new fruit ; var knife=new fruit ; var ourBasket=new basket ; var score:int=0; public function doc() { stop(); INIT(); buttonMode=true; } function INIT() { score=0; Mouse.hide(); addChild(hart); hart.gotoAndStop("hart"); hart.points=10; hart.INIT(); addChild(knife); knife.gotoAndStop("knife"); knife.points=-10; knife.INIT(); addChild(ourBasket); ourBasket.INIT(); addEventListener(Event.ENTER_FRAME, update); } function update(e:Event) { testCollision(hart); testCollision(knife); } function testCollision(someFruitName) { if (someFruitName.hitTestObject(ourBasket)) { score+= someFruitName.points; someFruitName.position(); result(); } } function result() { trace("Du har " + score + " points"); if (score>20) { EXIT(); gotoAndStop("win"); } if (score<-20) { EXIT(); gotoAndStop("lose"); } } function EXIT() { Mouse.show(); removeEventListener(Event.ENTER_FRAME, update); removeChild(hart); hart.EXIT(); removeChild(knife); knife.EXIT(); removeChild(ourBasket); ourBasket.EXIT(); } function goGame(e:MouseEvent) { gotoAndStop("game"); INIT(); }/**/ } }
Created: 20 October 2008 • by admin
Categories: classes • oevelse
Comments: be the first to comment
Personligt flashspil e08
Deadline Søndag 26-10-2008 – 23:59
Aflevering:
Der skal i Fronter uploades en zip- eller rar-fil, indeholdende en fla-fil og mindst en as-fil. (En flash-fil, og en document class som minimum – gerne flere classes)
Altså: Et personligt udviklet spil – som fungerer.
Spillet og koden skal afspejle hvad du har studeret dig til og lært.
Det må gerne være inspireret af de gennemgåede (eller andre) eksempler, hvis kodningen tager modet fra dig.
Koden skal kommenteres. (/* kommentarer og personlige forklaringer*/) Har du fundet en allerede kommenteret udgave, skal den suppleres med DINE forklaringer så vi kan aflæse DIN forståelse.
- ikke en direkte oversættelse til dansk men en løbende forklaring på hvorfor og hvordan det bliver brugt..
Spillet skal indeholde:
- en Splash side. (indgang med knap til selve spilscenariet)
- en document class-script og gerne andre classes med relevante og forklarende personlige kommentarer.
- et vind-scenarie
- et tab-scenarie
Inspiration:
- Se opgaveformuleringen for hele workshop2
God fornøjelse -
hilsen Kamilla og Brennan
Created: 19 October 2008 • by admin
Categories: opgave
Comments: be the first to comment
