Bilde-redigering med Photoshop eller Paint: Størrelse, kompresjon, oppløsning.
Konverter video til .flv (Flash Video) eller .fl4 (Flash Video nytt format) med Adobe Media Encoder CS 5. For å unngå versjonsproblematikk antagelig lurt å velge .flv.
Omtrent som tidligere quiz vi har laget (se /H2008)
- Nøkkelramme for Quiz
- Nøkkelramme for Resultat
Datastruktur, kan bruke forskjellige tabeller for spørsmål, alternativ en, to og tre, fasit og svar, men naturlig å legge alt i en tabell ved å kombinere Array og assosiative tabeller:
const ANTALL_SPORSMAL: int = 3;var quiz: Array = [ { sporsmal: "Hvilket parti osv...", media: "solberg.jpg", alternativ: ["H", "Frp", "SV" ], fasit: 0 },{ sporsmal: "Spill av lydkuttet. Hvem hører du?", media: "hoybraten.mp3", alternativ: ["KM Bondevik","D Høybråten","L Sponheim" ], fasit: 1 },{ sporsmal: "Spill av intervjuet du ... osv ", media: "stoltenberg.flv", alternativ: ["H og Frp", "H, Krf og V", "H, Krf, V og S"], fasit: 1 } ];var brukersvar: Array = new Array(ANTALL_SPORSMAL];(Kan også legge datastrukturen i en XML-variabel eller i en XML-fil.)
Lurt å lage noen funksjoner som gjør de viktigste operasjonene:
(Forutsetter at blåfarvede komponenter er lagt inn i Flash.)
(Veksler mellom lyd, bilde og video, ved å skifte mellom å skjule og vise bilde- og video-komponent,
som begge har egenskapen visible, som alt på skjermen arver fra den overordnede klassen DisplayObject.)
/************************************** Funksjon som kalles hver gang vi skifter skjermbilde. **************************************/ function settOppGui(index: int): void { // Setter opp tekstene i skjermbildet: txtSporsmal.text = quiz[index].sporsmal; txtAlt1.text = quiz[index].alternativ[0]; txtAlt2.text = quiz[index].alternativ[1]; txtAlt3.text = quiz[index].alternativ[2];// Finner ut endelsen på filnavn (jpg, mp3, flv ) var medianavn: String = quiz[index].media; var lengde: int = medianavn.length; var endelse: String = medianavn.substr(lengde-3,3);// Bruker riktig media komponent: if( endelse == "jpg" ) { bildeloader.source = medianavn; // UILoader komponent bildeloader.visible = true; videospiller.visible = false; } else if( endelse == "mp3" ) { videospiller.visible = false; bildeviser.visible = false; lyd.load(new URLRequest(medianavn)); // lyd: Sound } else if( endelse == "flv" ) { videospiller.source = medianavn; videospiller.visible = true; bildeviser.visible = false; }//if}//settOppGui()/************************************** Funksjon som kalles hver gang vi skifter skjermbilde. **************************************/ function lagreSvar(index:int,): void { brukersvar[index] = int(rbAlt1.group.selectedData); }//lagreSvar()Lytterfunksjoner som teller opp spørsmålsnummer, bruker funksjonene over og går til neste skjermbilde klarer dere selv.
I resultatskjermbildet må vi telle opp og lage en rapport til brukeren, omtrent noe slikt:
var antallriktige: int = 0; var rapport:String = ""; // rapport streng bygges opp etter hvert for(var i:int = 0;i < quiz.length;i++) { if( brukersvar[i] == quiz[i].fasit ){ antallriktige++; rapport += quiz[i].sporsmal + " RIKTIG\n"; } else { var rettSvar:String=""; if(quiz[i].fasit == 0) { rettSvar=quiz[i].alternativ[0]; } else if(quiz[i].fasit == 1) { rettSvar=quiz[i].alternativ[1]; } else if(quiz[i].fasit == 2 ) { rettSvar=quiz[i].alternativ[2]; }//if respons += quiz[i].sporsmal + " GALT(Rett svar: "+rettSvar+")\n"; }if }//forvar prosent:Number = (antallriktige/quiz.length) * 100; txtOppsummering.appendText("Du fikk " + antallriktige + " rette av " + sporsmaal.length + " mulige\n"); if( antallriktige == quiz.length) { txtOppsummering.appendText("Gratulerer med alt riktig! (Vi regner med at du har jukset?) \n"); }//if txtOppsummering.appendText("Dette tilsvarer en prosentandel på "+prosent.toFixed(1)+" %\n"); txtOppsummering.appendText("Du svarte riktig/feil på følgende spørsmål:\n\n"); txtOppsummering.appendText(respons);
Dokumentasjon som er relevant:
Jeg synes det er mest naturlig å tolke dokumentasjon som dokumentasjon for applikasjonen, ikke dokumentasjon for hele prosjektet:
- Brukerveiledning
- Implementasjon: (Fra planleggingsdokumenter)
- GUI
- Datastruktur
- Programstruktur
- Testing
- Teknisk dokumentasjon:
- Filformater
- Standarder, konvensjoner, avhengigheter
- Pålitelighet
- Ytelse
- Sikkerhet
Ordet "dokumentasjon" kan også oppfattes som "Prosjektdokumentasjon", men å lage dokumentasjon i samtlige faser i et prosjekt blir for mye på en eksamen.
Løsningsforslag jeg har sett på konferanser og på nettet, tolker "dokumentasjon" som dokumentasjon av hele prosjektet.
IT-prosjekter har mange faser og det er derfor umulig å dokumentere alle. Løsningsforslag jeg har sett omtaler derfor de
fire viktigste fasene:
- Kravspesifikasjon:
Baser dette på kravene i oppgaveteksten: Hva er kravet til løsningen fra oppdragsgivere?- Design:
Beskrive hvordan programmet fungerer, beskriv det du har laget med ord.- Implementasjon:
Hvordan laget:
- GUI
- Datastruktur
- Programstruktur
- Testing:
Si noe om hvordan funksjonalitet er testet. (Se i forhold til krav i Kravspesifikasjonen.)
Viktig å lese slike oppgaver og vurdere hva man skal bruke tid på. Skriv i besvarelsen hvilke forutsetninger og tolkninger du har lagt deg på.