Interaktiv 3d i Flash
|
|
|
- Gustav Hansen
- 10 år siden
- Visninger:
Transkript
1 1 Indholdsfortegnelse 1 INDHOLDSFORTEGNELSE 1 2 INTRODUKTION 4 3 PROBLEMFORMULERING 4 4 PROBLEMAFGRÆNSNING 5 5 METODE OG STRUKTUR Metode Struktur 6 6 UDVIKLINGS IDE Bruger anvendelighed Gode og dårlige ting Min ide er (overblik) 9 7 MARKEDSUNDERSØGELSE Spørgeskema Den første metode (Internet spørgeskema) Den Anden metode (Samtale med flash eleverne i skotland) Resultat Konkurrenter Kaon ( Webcontinuum ( Forgefx ( ) HMX Media ( ) Markedsanalyse Størrelse og Vækst Muligheder for bearbejdning Udgifter ved bearbejdning Konkurrencesituationen i segmentet Valg af segment Markedskonklusion 20 8 MÅLGRUPPE ANALYSE 21 Afleveret d. 12. Juni 2007 Page 1 of 56
2 8.1 Brugerprofiler og brugerscenarier Profil 1 Claus Jensen Profil 2 Mads Rasmussen 22 9 KOMMUNIKATIONSPLAN Formål Effekt Afsender Målgruppe Budskab Medie Kommunikationsmiljø KRAVSPECIFIKATIONER KONCEPTBESKRIVELSE Brugervenligt Bevægelse Videreudvikling KODEANALYSE Sammen sætningen fra 3d max til flash UML Case Modelling Sequence Diagrams Modeling class behavior whit state diagram Eksterne file Flash D studio max KODEOPBYGNING For funktionen If funktionen trace() parsefloat() new Array(); Math.cos() og Math.sin() Math.roundt() 36 Afleveret d. 12. Juni 2007 Page 2 of 56
3 14 STATUS OG PERSPEKTIVERING Nuværende tidspunkt Kommende udviklinger PROCESEVALUERING KONKLUSION Er dette system blevet udviklet og hvad for nogen teknologier er der blevet lavet inde for interaktiv 3d i flash? Hvor stort interesse er der for udviklingen af interaktiv 3d i flash og hvordan kan jeg bedst muligt markedsføre teknologien? Hvordan kan jeg lave et system som rammer målgruppen bedst muligt? Kravspecifikationer LITTERATURLISTE Bøger Artikler Websider BILAG Bruger undersøgelse Internet spørgeskema ( Internet spørgeskema resultat Samtale med flash eleverne i Skotland Screenshot af test programmet Programs kode 47 Afleveret d. 12. Juni 2007 Page 3 of 56
4 2 Introduktion 3D bliver brugt mere og mere i dag, hvor man har total kontrol over 3d objekter, f.eks. når man spiller et spil, hvor computeren rendere alle billederne mens du spiller. På den måde kan man bevæge sin figur i alle retninger og få ham til at gøre lige hvad man vil have ham til. Men denne udvikling eksisterer ikke rigtig til hjemmesider. Der er mange som prøver at lave 3d objekter og det tager tid og er meget besværlig, bare for at skabe et objekt. Grunden til dette er fordi det skal kodes helt fra bunden af mange gange. De fleste vælger at lave en billedserie, fordi det er nemmere men det tager lang tid at hente fra Internettet, og selve figuren er helt fastlåst, så den ikke kan bevæge sig i andre retninger end billedserien viser. Jeg mener at det er et problem at man ikke har gjort mere ud af 3d modulering til nettet, for 3d er fremtiden, og det skal også kunne ses på vores hjemmeside. Der eksister godt nok nogle ting på nettet om hvordan man kan lave 3d objekter, men det er fastlåste ting, altså en kasse som ikke skal bevæge sig. Det vil sige at den kun kan rotere i xyz akslen, og selve kassen kan ikke forandre form. Problemet med det er at de ikke har liv, selve figuren kan ikke bevæge sig, det er fast lås i sin position, det er her jeg vil gå ind og finde en bedre løsning. I denne rapport vil jeg se på mulighederne for at skabe en let måde at integrere 3d med flash, så man hurtig kan lave 3d objekter og stadig styre dem. Jeg valgte at bruge flash fordi det er et meget simpel system i forvejen, og de fleste mennesker kan bruge den på den ene eller anden måde, uden at være hardcore programmør. Her ud over er flash meget interaktivt, så den egner sig meget til 3d, som man mange gange mangler i flash spil eller bare et objekt som skal være i stand til at forandre form. Jeg vil også kigge lidt nærmere på muligheden for at sælge systemet til andre programmører og om der overhovedet er et marked for sådan et system. Jeg vil gennemgå alle punkter af udviklingen samt undersøgelserne som jeg vil fortage mig under vejs. 3 Problemformulering Er dette system blevet udviklet og hvad for nogen teknologier er der blevet lavet inde for interaktiv 3d i flash? Hvor stort interesse er der for udviklingen af interaktiv 3d i flash og hvordan kan jeg bedst muligt markedsføre teknologien? Hvordan kan jeg lave et system som rammer målgruppen bedst muligt? Afleveret d. 12. Juni 2007 Page 4 of 56
5 4 Problemafgrænsning Er dette system blevet udviklet og hvad for nogen teknologier er der blevet lavet inde for interaktiv 3d i flash? For at kunne lave et nyt produkt skal jeg vide lidt om hvad for nogle teknologier der er blevet udviklet i forvejen. Så der for skal jeg have lavet en undersøgelse af markedet, som vil vise mig om det kan betale sige at lave sådan et system. Og hvor efter om jeg kan udnytte de nye teknologier til min egen fordel, her ved at skabe det bedste system. Hvor stort interesse er der for udviklingen af interaktiv 3d i flash og hvordan kan jeg bedst muligt markedsføre teknologien? Jeg har arbejdet meget med flash og synes selv jeg mangler noget mere interaktiv 3d i flash. Men for at kunne sælge systemet, og for at kunne starte opbygningen skal jeg vide, om der er andre der også mangler interaktiv 3d i flash. Her under hvad det er for nogle personer, som vil have interesse i sådan et system, og hvad de mener. Hvordan kan jeg lave et system som rammer målgruppen bedst muligt? Selve systemet skal opbygges i flere stadier for at kunne funger, her under skal kunden være 100 procent sikker på hvordan man bruger de forskellige funktioner, så kunden ikke bliver forvirret. Derfor skal jeg vide hvad kunden er for en størrelse. For at kunne ramme den rigtige målgruppe skal jeg vide hvad for en målgruppe som ville bruge systemet, og kunne udvikle det til deres specifikationer 5 Metode og Struktur I dette punkt går jeg ind og ser på hvordan jeg vil håndter dette projekt, altså ved at gå ind og vælge nogle områder jeg skal ind og dække, for at få lavede en sammenhængende rapport, og give forståelse. Jeg har valgt at bruge HOME 1 metoden da den er meget åben metode som kan tilpasse sig til næsten alle projekter, og passer fint til dette projekt. Fordi man får de 4 gode trin, foranalyse, undersøgelse, design og Realisering. Jeg har valgt at opbygge selve rapporten efter denne række følge så man kan følge med i hvordan systemet bliver udviklet hen af vejen, og hvad for nogle konklusioner jeg tager. Meget af processen kommer til at funger som vandfalds metoden 2, fordi jeg tage hvert emne for sige selv og få det lavede før jeg gå vider. Men selve modellen funger sådan at man laver et modul af gange og får 1 Udvikling af Multimedier En helhedsorienteret metode 2. Udgave side 42 -> 2 Udvikling af Multimedier En helhedsorienteret metode 2. Udgave side 32 Afleveret d. 12. Juni 2007 Page 5 of 56
6 det godkendt. Da det er mig selv som er ham der står for det hele er det mig som også skal godkende det i forhold til konteksten. Efter det er godkendt går jeg vider til det næste emne, på den måde sikre jeg mig for at modulet er lavede rigtig og at man ikke skal tilbage og rette noget sener hen. 5.1 Metode Hvis vi starter med Foranalyse. Det jeg har valgt at have med i min foranalyse er Problemstilling og problem afgrænsning, da det er min egen ide som jeg udvikler skal jeg ikke ud og snakke med et firmaer samt andet, for at finde de informationer, som jeg normalt ville gøre Den næster i rækken er undersøgelser. Først og fremmest vil jeg forklar om min ide, og hvorfor jeg har mine syns vinkler i den retning. Her efter vælger jeg at lave en bruger undersøgelse som vil gå ind og finde ud af om folk overhovedet vil være interesse i sådanne et projekt, og hvad folk mener de gerne vil have med i sådan et system. Jeg regner også med at udspørge nogle elever fra den skotske skole som jeg har gået på i de sidste 3 måneder, her ved vil jeg få nogle beder indblik i hvordan udlændinge ser mit projekt og om jeg skal markedets før den på en anden måde til dem. Til sidst laver jeg en kommunikations plan som vil forklar hvordan jeg vil ramme min målgruppe. Design delle kommer ikke til at gå på grafisk design, men i steder for lave en kode analyse som vil forklar hvad for nogle tanker jeg har om programmet og hvad for nogle forbyggende ting jeg har analyseret på for at få lave min kode helt rigtig. Her ud over vil jeg også sætte kræv til systemet Som det sidste Realisering. Her under vil alle afsluttende ting komme, så som koden opbygning og konklusion og status og perspektivering, som vil forklar om projektet og hvad status jeg er kommet til i forhold til planen, og om jeg har nåde de ting som jeg havde planlagt. 5.2 Struktur Jeg starter med at lave en indledning så folk ved hvad det handler om, så man kan være med i hvad dette projekt er for noget. Her efter komme problem og problem afgrænsning, som er det problem som jeg ville finde en løsning på. Det næste er så min ide, som giver et indblik i hvorfor jeg mere det er nødvendigt at lave mere interaktiv 3d i flash og hvorfor det kan sælge. Her ud over kommer der også en dybere forklaring på hvad ide er, så man er lidt mere med i hvordan systemet skulle funger og bruges til. Her efter undersøger jeg markedet for hvad det er for nogle bruger som anvender flash, samt hvor gode de er til at arbejde med action script. Det vil ske med et spørgeskema og ud over det er der 3 samtaler med skotske elever som har 3d og flash i deres undervisning. Her efter komme markedsundersøgelser som viser hvor stor markedet er inde for interaktiv 3d i flash, og hvad for nogle teknologier som er blevet udviklet og kan hjælpe mig med at opbygge mit system og giver ideer til at forbedre systemet med. Afleveret d. 12. Juni 2007 Page 6 of 56
7 Målgruppe bliver brugt for at kunne ramme de rigtig bruge, altså ved at finde ud af hvordan programmet skal funger og opbygges, og om det skal være hardcore forståelse eller om det bare skal være så simpelt så muligt Selve kommunikationsplan er der for at give den bedst mulig måde at få budskabet ud på, i dette tilfælde er det for at jeg kan få solgt systemet på den bedste måde. Kravspecifikationer er for at sætte en grænse for hvad systemet skal kunne, og ikke må overskride I Konceptbeskrivelse, beskrives de hovedpunkter som jeg har fundet frem til i markedsanalyse og målgruppeanalyse og her ud fra skaber jeg mit koncept Når jeg så ved hvordan konceptbeskrivelsen er blevet lavet, laver jeg min kodeanalyse, hvor jeg gå ind og ser på hvordan jeg vil bygge min kode, og hvad for nogle navne variablene skal have for det giver mening og beder forståelse. I selve kodeopbygningen går jeg i dybden med hvordan det helle funger og hvordan systemet er kommet til at se ud i forhold til kodeanalyse. Under status og Perspektivering går jeg ind og ser på hvad for nogle ting som funger, samt hvad der kan videreudvikles i fremtiden. Procesevaluering er hvor man kan se hvordan alting er gået og hvordan jeg selv synes projektet har forløbet med problemer og de gode ting. Så kommer vi til konklusion som er den som besvar problemformuleringen, her kan du finde svar på alle tingen som, jeg har sat i problemformuleringen. Litteraturliste, Bilag er alt de ting som jeg har brugt men ikke, er med i rapporten og hvor jeg har fundet tingende hænde. 6 Udviklings Ide. I dette emne vil jeg forklar hvad min ide er og hvorfor jeg synes det er nødvendigt at lave sådan et system, samt hvorfor jeg mener at den vil sælge. Selve ideen kom til mig da jeg var ved at arbejde med 3d max, jeg skulle have lavet nogle billeder til et flash spil. For at kunne få spillet til at virke mere 3d agtigt i en 2D verden, lavede jeg billedserie af hver position, altså så jeg havde af ryggen, fronten og siderne. Da jeg var færdig havde jeg omkring 160 billeder (Her ind under kommer der 4 løbe billedserier og 4 døds billedserier når man dør i spillet), som skulle sættes ind og redigeres. Når man har så mange billeder kan man risikere at det vil tage lang tid for at downloade spillet og det er jo ikke særlig godt når det nu skulle være et Internet spil. Her ud over kunne figuren kun bevæge sig i 4 retninger så man vil heller aldrig have fri bevægelse. Det irriterede mig i lang tid, fordi der ikke rigtig var nogen løsning på problemet. Jeg kom på at lave 3d figur i flash, altså en figur som kun lå i action script, på den måde ville man bare rendere figuren i den position, man havde brug for. Her ved slipper man også for den lange download tid, da man faktisk kun Afleveret d. 12. Juni 2007 Page 7 of 56
8 behøver at hente et billede og en masse tekst (selve billedet bruges til map som skal lægges hen over figuren). Når disse ting er lavet vil man være i stand til at kunne flytte objektet hvor hen man vil, og kunne rotere den 360 graders i alle akser. Dette så ud til at funger fint, og jeg fik programmeret en prototype, men fandt hurtig ud af, at man ikke kunne bruge det til så meget, da figuren bare var en klods. Her ud over var der også mange andre som havde lavet en 3d objekt som ikke kunne andet end at dreje 360 graders. Så jeg begyndte at undersøge nettet for en bedre løsning, så man kunne bruge sin 3d objekt klods til noget, men fandt hurtig ud af at det var der ikke. Det eneste man kunne bruge det til var meget gamle udgaver af pc spil (3D Meteor som bare er en objekt der drejer 360 rundt). Det var her jeg konkluderede at der måtte være en måde at skabe lidt mere liv i disse 3d figurer. Jeg fandt ud af at grunden til at 3d objekterne virkede kedelig og træls er fordi, der ikke er bevægelse i dem, de kan rotere, men det er ikke det samme som at lave bevægelser fra selve objektet, f.eks. en person som bevæger et ben. Hvis vi nu skulle lave en 3d person med det system jeg har opfundet ville det bare være en klods som står og ikke kan bevæge sig. Der måtte være en bedre måde, så som at flytte punkterne som udgør 3d objektet uden at påvirke resten af figuren, og her ved at give liv. Det ville være for besværlig at skulle programmere hvert enkelt punkt for sig og det ville også komme til at se sjovt ud, hvis de ikke var helt præcist justeret efter deres plads i forhold til objektets symmetri. Der for begyndte jeg at tænke og så slog det mig jeg kunne tage funktionen fra 3d max, som er bones/bip, disse bones skulle være hjælper til at flytte punkterne rigtig. Men her kommer det store problem det vil tage meget lang tid at lave et 3d objekt i flash, fordi man skulle fiske rund med det i flash, altså opbygning af 3d objektet og bones systemet så det ser helt rigtig ud og få bones til at ligge helt korrekt og ramme de rigtige punkter. Her ser jeg 3d max som en udvej, da den har indbygget et fint kontrol system af punkterne og bones så det passer perfekt sammen. Selve programmet er bare en masse plugins, så det skulle ikke være så stort problem at få lavet en plugin som kan udgive en file med informationer om 3d objektet og bons systemet, som flash så kan bruge. På denne måde vil flash være i stand til at vise 3d figurer med bone systemet, og på den måde slipper man for en masse spildt arbejde. Denne ide kunne også let udvides til andre 3d programmer (3d max og maya og...), så længe man bare har et templet på hvad for nogle informationer filerne skal have. Disse informationer som filen har skal kunne læses i flash for at kunne skabe 3d objekter. Det vil sige, at jeg skal ha lavet en konverter og en fortolker som kan forstå data, og bruge den. Ved at gøre det på den måde vil jeg også være i stand til at kunne udvikle systemet senere, så den kan lave animation i 3d max og bruge det i flash uden de store problemer, men det ville være en videreudvikling som kommer senere, da jeg skal have opbygget systemet. Jeg valgte at arbejde med bones systemet fordi man kan lave mange sjove ting, en af dem er at give brugeren total kontrol over figuren. Altså hvis vi har en person som 3d objekt med bone system, vil vi være i stand til at kunne smide rund med ham og give ham forskellige positioner. Man kunne også lave et miljø som han vil reagere på, f.eks. hvis der var en boks det ramte ham vil han bevæge sig efter hvordan han var blevet ramt, på den måde gøre man ham mere interaktiv. Dette vil man kunne bruge i et boksespil, hvor man kan programmer ham til at falde om efter hvordan han blive ramt, og hvor stor skaden er. Dette kan være svært at gøre med en normal billedserie fordi hele kroppen reagerer på mange forskellige måder, alt efter hvordan man bliver ramt og Afleveret d. 12. Juni 2007 Page 8 of 56
9 her ved kommer der liv til figuren. Systemet her er blevet brugt i lang tid inden for pc spil, gamebox, ps, og andre, men ikke rigtig på web sider. 6.1 Bruger anvendelighed For at kunne sælge dette system skal det være anvendeligt og i stand til at funger som en addering til flash, det vil sige man skal stadig vide noget om flash for at kunne bruge det. Jeg synes at man kunne bruge dette system til at lave spil med, men også til at fremvise ting, altså lige som en hjælpe person som giver hints nede i hjørnet. Der er rigtig mange muligheder. 6.2 Gode og dårlige ting De gode ting ved programmet vil være at den er i stand til at vise et 3d miljø, som kan laves i så mange kopier som er nødvendigt, her ud over giver det også mulighed for at frembringe mere 3D til web pages. Systemet kan udvikles hen af vejen, som projektet opgraderes. De dårlige ting ved programmet vil nok være at nogle pc er ikke ville være i stand til at køre den, fordi den kræver end lidt større cpu i forhold til en billede serie, men jeg tror ikke der er så mange der får problemer med det (det kan man først finde ud af senere, når man har lavet den første prototype), her ud over har den ikke nogen negative ting, efter min synsvinkel, 6.3 Min ide er (overblik) At skabe en 3D generator, som kan lave 3d objekter ved at skabe punkter, forbinde dem og fylde hullerne mellem linjerne, At benytte et Bone system, som kan rediger punkterne, efter hvordan man flytter med dem, det vil sige at man kan bevæge et ben på en person, uden at flytte helle 3d objektet Være nemt at skabe et 3d objekter og rediger dem, ved hjælp at andre programmer så som 3dmax og maya Gøre det muligt at programmer 3d objektet i flash så det er, letter at få den helt rigtig og så den kan bevæge sig efter miljø ved hjælp af bone systemet. Afleveret d. 12. Juni 2007 Page 9 of 56
10 7 Markedsundersøgelse I dette emne vil jeg gå ind og finde ud af hvad for en markedsstrategi jeg skal bruge, ved hjælp af spørgeskema og samtale med nogle af eleverne samt konkurrenter og analyse, for at kunne finde den bedste måde at sælge systemet på. Når jeg er ved at tjekke konkurrenterne vil jeg lige undersøge hvad for nogle nye teknologier, der er blevet brugt for at se om der er noget som vil gavne mit system. Efter det laver jeg en konklusion af markedsundersøgelsen for at opsummeret hvad for et marked jeg skal ind på og hvor svært det vil være at få solgt systemet. 7.1 Spørgeskema Dette afsnit vil handle om bruger test jeg har lavet over Internettet gennem et spørgeskema, for at finde den helt rigtige målgruppe, med dette projekt. Her ud over valgte jeg også at lave samtaler med nogle at de skotske studerende for at få en mere international holdning om hvordan jeg skal markeds føre projektet Den første metode (Internet spørgeskema) Er et spørge skema som jeg lagde ud på nettet og som folk selv kunne gå ind og udfylde efter deres egne tidsplaner. Her neden under kan man se hvad for nogle forums jeg lage links ind på for at kunne få folk til at svar på mine spørgsmål. ActionScript.org Forums ( Flash Kit ( Flash devils ( Flash move ( Flash forum ( Udvikleren ( Actionscript( Selve spørgeskemaet ligger i bilag x.for at ramme flest mulige personer lavede jeg et spørge skema på dansk og engelsk, og en af grunden til det er fordi det skal sælges over Internettet, og der ved vil mange af kunderne blive udlændinge hvis jeg markedsfører det rigtigt. For at kunne markedsføre den rigtigt skal jeg finde ud af hvad folk gerne vil have og hvad de forventer, her ud over skal jeg vide hvor let den skal gøres, for jo mere systemet udvikles jo sværere bliver den også at forstå. Selve spørgeskemaet er nogle få spørgsmål som fortæller mig, hvilke grupper der vil finde systemet nyttigt og kan se mulighederne inden for projektet, Grunden til jeg vil vide om deres antal af flash timer, er også for at se om det er nogen som bruger programmet flash meget, eller om det bare er fritidsbruger som kunne finde på at udnytte sådan et system. Det næste jeg vil vide er om de bruger actionscrip og om de selv kan finde ud at programmere noget, eller de bare stjæler koden fra andre. Dette er vigtig at vide fordi så kan de ha lettere ved at forstå opbygningen og bruge tiden på at give dem ideer til hvordan det kan udnyttes på andre måde, og derved være i stand til Afleveret d. 12. Juni 2007 Page 10 of 56
11 at kunne lege med systemet. Hvis de ikke kan forstå opbygningen, skal jeg bruge mere tid på at lave nogle standart opsætninger som systemet skal køre efter og bruge mere tid på tutorials som kan forklare systemet. Det næste punkt er om de har arbejdet med 3d objekter. Det er for at få en fornemmelse af om det er meget udbredt, og om det vil være til at forstå når man snakker om det. Lige for at se hvor meget man skal gå i dybden for at folk forstår en. En af de andre grunde, er så jeg kan se om de har erfarenhed når de sætte spørgsmål ved projektet eller giver gode råd, og for at høre lidt om hvorfor de ikke har arbejde med det. Efter dette punkt spørger jeg efter om folk kan bruge en nem måde at lave 3d objekter på, hvor efter det næste spørgsmål lyder om de også ville kunne bruge et bone system til at bevæge objekterne som er mit hoved ide. Jeg delte dem op for at få en fornemmelse om det kun var 3d de var interesseret i eller om der ligger grundlag for at gøre dem mere interaktiv ved hjælp af et simpelt system som hjælper brugeren. Sidst men ikke mindst, vil jer gerne vide om der er noget, de gerne vil have med i system, og hvad der kunne gøres bedre Den Anden metode (Samtale med flash eleverne i skotland) Jeg valgte at snakke med de flash elever som jeg arbejder sammen med, fordi de både arbejder med 3d max, flash og så er de udlændingen, og på den måde ville de være i stand til at give mig gode retningslinjer for hvordan jeg rammer den målgruppe, og andre udlændinge. Det er aldrig godt at udspørge nogen som man selv går i klasse med. Fordi at de har nogle holdning om en som kan forandre deres syn. Men jeg valgte at gøre det for disse elever bliver snart færdige, hvorefter de kommer ud på arbejdsmarkedet. Dette gør dem til en guldgruppe for hvis jeg kan ramme dem, kan jeg også ramme firmaet, og få mit system ud på den måde, hvis jeg er heldig. Selve spørgsmålene lyder, 1. Arbejde du med 3d i flash. a. Hvis ja hvor meget bevægelse kan du få ud af 3d objektet altså x,y,z og bruger du 3d max til at lave 3d objektet med? b. Hvis nej hvad er grunden til at du ikke arbejde med det? 2. Synes du der skal mere 3d ind i hjemmesiderne og kan du se hvad det kan bruges til? 3. Ville du selv bruge et 3d system hvis det var let at bruge? 4. Hvordan ser et let system ud i dine øjne, og hvorfor? a. Create3dobjekt(var1,var2,var3,var4,var5,var6) b. Load3dbjekt(var1) Afleveret d. 12. Juni 2007 Page 11 of 56
12 SetBevægelse(punkt1,x,y) SetHastighed(var1) 5. Kunne du finde på at betale for at få et smart system, som kan håndtere 3d objekter og kontrollere dem, uden de store problemer? 6. Er der noget som du synes der mangles? Hvis vi tage dem fra toppen af. Nr.1 Først finder jeg ud af om de har erfarenhed inden for området. Her efter går jeg over og spørger efter hvor meget held de har haft med at bevæge objekterne i 360 i alle vinkler x,y,z, og hvis de ikke har arbejdet med 3d objekter finder jeg ud af hvorfor og hvad der er grunden til det.? Nr. 2 Her finder jeg ud af om de er interesseret i mere 3d eller om det er 2d som vinder, og hvad kan man anvende 3d objekter til, for hvis de kan se det, ville det ikke være svært at sælge systemet.? Nr. 3 Her går jeg ind og finder ud af om det bare er fordi at det er for svært at lave 3d objekter, at de ikke gide arbejde med det, og hvis det var lettere ville de så gøre det.? Nr. 4 Her har jeg valgt at sætte to måder op for at se hvad for en der er mest simpel at finde ud af og forstå.? Nr. 5 Her går jeg ind og undersøger om det er noget som man kan tage penge for? Nr. 6 Lige til sidst, vil jeg høre dem efter om de har nogle gode ideer som kan hjælpe mig med udviklingen af systemet. Her ud fra håber jeg på at kunne finde den bedste måde at markedsføre systemet på, og det tror jeg heller ikke bliver noget problem Resultat Hvis vi starter med spørgeskemaet, så er det meget forskellige mennesker som bruger flash, som har valgt at svart på spørgeskemaet. Det er nok fordi det er et meget simpelt program som alligevel har meget gode muligheder for at skabe grafiske ting. Men igen så er kun 2 ud af 17 som har arbejdet med 3d i flash og det er ikke ret mange, i forhold til gruppen. Forklaringen ligger også i at folk ikke kan finde ud af det og beslutter sig der for at lade være. Det er også meget tydeligt at se, at de gerne ville lave 3d hvis det bare var noget nemmer at lave. Hvis vi ser på selve alders gruppen kan man ikke finde nogen lighed der da de ligger mellem år, det er lige godt 15 års forskel. Når der er så mange års forskel vil det også være meget forskelligheder på brugene. Hvis man nu ikke kan finde noget på deres alder som samler gruppen, så må det måske være noget med antal timer som de bruge på flash programmet. Men her svinger det også meget, og alligevel er Afleveret d. 12. Juni 2007 Page 12 of 56
13 det en symmetri i resultaterne, for dem som bruge mange timer er for det meste dem som ikke gider systemet fordi de selv koder, mens dem som ikke bruger det så meget snupper deres koder fra andre af. Men det er også dem som brugere mindre timer på det som ville være glad med sådan et system, hvor de hardcore programmører heller selv vil programmere deres egne ting. Det vil sige at jeg skal gå efter dem som ikke bruge så mange timer på det igen, men alligevel nogle timer. Her ud over kan jeg også prøve at ramme de mere professionel programmør ved at få dem til at se at de spare meget tid ved at bruge dette system. Noget af det sidste jeg fik ud af mit spørgeskema var hvad for nogle ting som folk gerne ville have med i programmet. Nogle af tingen er light system så man kan kontroller lys styrken, og skygge system, så man kan få et forhold til hvor objektet ligger henne i rummet. tyngdekraft, bump map, gradienter og lens flare det er de sidste ideer som der er kommet, og det giver en god ide om hvordan man kan opgrader systemet sener hen. Du kan finde informationer i Bilag side 40 Jeg lavet også en samtale mens jeg var i Skotland for at få deres holdninger til sådan et interaktiv 3d i flash. Skotterne mente nogen lunde det samme som dem fra spørgeskemaerne havde vist. Det vil sige det var dem som ikke kunne så meget igen, som helst ville have system, mens de mere professionelle ikke havde brug for den. De svar skotterne gav mig faktisk overens med det fra spørgeskemaerne af, så der for vil jeg ikke gennemgå dem da det er det samme de faktisk mener, Du kan finde resultaterne i Bilag side Konkurrenter Der vil altid være konkurrenter som man skal passe på, og derfor er det en god ting at finde ud af hvem det er, man skal holde ekstra godt øje. Det er ikke så slemt når man udvikler et nyt system, men som man siger en ny ide er to gamle ideer som man har sat sammen, derfor kan det godt risikeret at der er andre som har fået samme ide. Ud fra denne holdning af går jeg ind og undersøger hvad for nogle teknologier som allerede er ude på markedet. Her er de hjemmeside som jeg har tjekket for at finde ud af, hvad for nogle teknologi de bruger og hvor stor en konkurrent de er Kaon ( Kano er nok en af de største konkurrenter, da de har lavede 3d objekter som er interaktive, dette eksempel er en ring som man bevæge rundt med musen. Selve objektet har lys refleksion og er i stand til at kunne roter 360 grader i hver vinkel. Jeg viste godt at 3d objekter var blevet lavet til flash, så det kommer ikke som så stor et chok, men deres programmering er meget langt fremme på i det grafiske og kode. Det vil sige at jeg skal kunne lave noget som nogen lunde skal kunne komme op på samme level, for at være i stand til at kunne konkurrer med dem. Det betyder ikke at jeg skal have lige så god grafik til at starte på, det skal bare have nogle fordele som gøre at mit system bliver valgt i stedet for deres. Afleveret d. 12. Juni 2007 Page 13 of 56
14 De har også valgt at lave en engien som styre alt 3d, igen det er meget af den samme ide, som de har og bruger det til at lave objekter som man kan røre ved og bevæge med. Det er også en af grunden til at de kunne blive store konkurrenter for hvis de nu begynder at lave bone system ind i deres 3d objekter ville de være i stand til at lave det samme som mig. Her ved får de fordelen fordi deres system er mere gennem testet og redigerede så mange gang at de vil være i stand til at kunne lave noget som udkonkurrer mit, på grund af at de har mere erfarenhed, og en 3d engien som funger. Se figur 6.1 Kaon hjemmeside Figur Webcontinuum ( Jeg valgt at tage webcontinuum med som en konkurrent selv om det bare er en privat person som sider og leger lidt med flash. Grunden til at han kan blive en konkurrent er på grund af at han har nogle egenskaber til at lave 3d figur som kan resulter i at han, måske vil gå vider med det. Alle mennesker i dag kan blive en konkurrent, og bare den mindste udvikling inde for 3d der ved kan det komme og bide mig i røve, hvis jeg ikke passer på. Men det er nok mere Kaon som vil være den største konkurrent, da de har viden og pengene til det. Selve 3d objektet som han har lavede har faktisk flere ting i et, da der både har streger samt overflader, og selve figuren er renderet fra kode af. Men som jeg siger, er han ikke den store konkurrent før han udvikler noget mere sit system. Se Figur 6.2 Afleveret d. 12. Juni 2007 Page 14 of 56
15 Webcontinuum Figur Forgefx ( ) Forgefx laver det som jeg prøve at sælge, jeg kan ikke komme uden om det, fordi de arbejder med interaktiv 3d i flash, det eneste jeg gør forskel fra dem af er at de laver skrædder syet systemer til deres kunder, det vil sige at de får en opgave om at lave noget interaktiv i flash som er rette specielt til kunden. Det der er forskel på mit system, er at den kan bruges af alle og der er mulighed for at bruge den til andre ting end bare en og her ved er den heller ikke afhænge af et firma, som tager mange penge for at udvikle systemet. Jeg må konkludere at de er en af de konkurrenter som man vil have svært ved at stille op med, hvis jeg lavede skrædder syet systemer. Der er mange ting inde på deres hjemmeside, som indiker at de er over hightech programmering. For lige meget hvad man prøve af deres ting funger det og det er stabilt, lige meget hvad man gør. Den eneste chance jeg har for at være oppe i mod dem er at lave mit system, så de rammer dem der selv gerne ville lege med 3d objekter uden at bruge en formue. Se Figur 6.3 Afleveret d. 12. Juni 2007 Page 15 of 56
16 Forgefx Figur HMX Media ( ) HMX medie går også meget op i 3d men det er mere, objekter som kan bevæge sige i xyz, og ikke så meget interaktiv 3d. Den største trussel her er hvis de vil udvide deres forretning og arbejde med nogle ting som bevægelse og ikke kun er stående 3d objekter som man kan roter med. De har godt styr over det grafiske og få mange detaljer med i deres objekter, som man kan se på billedet her neden under og det er også en af grunden til at de kunne gå hen og lave noget som kunne være problematisk for mit projekt/system. Et af de andre problemer med dette firma er at de har arbejde med mange kendte firmaer, som vil give dem et meget godt ryg hvis de skulle udvikle noget andet en bare roterende 3d objekter. Nogle af disse firmaer er Sony, adidas, nokia, kodak, hp, orange, philips, epson, 3 mobil, Nikon, IBM, Magellan, O2 og mange andre. Så ud fra dette er de meget kendte, og ville have letter ved at få tillid fra firmaerne af, i forhold til mig, da jeg ikke har arbejde med så mange firmaer. Se Figur 6.4 Afleveret d. 12. Juni 2007 Page 16 of 56
17 HMX Media Figur Markedsanalyse Jeg har valgt at bruge SMUK 3 modellen for at finde et målgruppe valg, så det er muligt at rette målgruppe efter, og derved få letter ved at sælge systemet. Selve SMUK modellen består af fire ting Størrelse og Vækst Muligheder for bearbejdning Udgifter ved bearbejdning Konkurrencesituationen i segmentet Jeg vil analyser på 3 segmenter og den ene er fritids programmør, og den anden er Freelance programmør og den sidste er hardcore firmaer. Jeg vælger disse 3 grupper fordi, jeg ville finde ud af hvad for en gruppe som ville være bedst at sælge til Størrelse og Vækst Fritids programmør: Når man ser på dem som sider og programmer hjemme fra, er det mange gange kun små ting, altså til deres egne hjemmesider, og for at lære at håndter flash. Det er ikke dem som vil betale for at have et objekt, i 3d. Alligevel ville de nok godt kunne finde på at købe systemet, bare for at lege med ideen om 3d så længe det ikke koste ret meget. Selve væksten af fritids programmør er stigende fordi de fleste hjemmesider brugere flash, nu om dag, samt at flash er et meget simpelt system som giver store muligheder for at programmere uden de store kendskabet til programmerings sprog. Så selve væksten vil stige, og købekraften vil også være der hvis man ikke tog for meget for programmet. 3 International markedsføring 2. Udgave side 316 Afleveret d. 12. Juni 2007 Page 17 of 56
18 Freelance programmør: Når man bliver til en freelance programmør er det fordi man er god til at lave mange forskellige opgaver, og er rimelig god til programmering. Jeg tror godt at en freelance programmør ville købe systemet hvis det var hurtig og nemt at bruge, da han ville spare penge på, ikke selv at skulle lave system, fra bunden af. Så der for tro jeg købekraften er rimelig god inde for freelancer, da de mange gange får et penge for en side og ikke for det antal tiden de arbejder. Selve væksten vil være mindre end fritid programmør fordi det kræver noget beder forståelse for at være i stand til at lave højt plan programmer, og kunne lave mange forskellige ting, fra video til animationer, til 3d objekter fra koden af. Hardcore firmaer: Der vil ikke være så stor købekræft i firmaer fordi de mange gang har en løsning på problemet, og så fordi de mange gang har deres systemer som er bygget helt på deres egne måde. Ud over det vil de også selv kode deres ting, med mindre de er helt ud hvor de ikke kan bunde. Flash firmaer er der ikke så mange af som Freelance programmør og Fritids programmør, der ved skal system også koste mere, hvis man også selv gerne vil have en indtjening på at sælge systemet. Med tiden vil der komme mange flere flash firmaer, da flash er ved at være meget kendt, samt bruges rigtig meget. Men der vil aldrig komme over et vist antal, fordi der vil være for stor en konkurrence mellem dem. Så derfor vil væksten ikke blive særlig stor, i forhold til de to andre segmenter Muligheder for bearbejdning Fritids programmør: Jeg mener det er meget let at få fat i fritids programmør, da man har Internettet med forums og hjemmesider samt e-butikker hvor man kan sælge systemet. Her du over kan man vælge at læge informationer ud på google for at fange interessen om systemet, samt lave en hjemmeside Freelance programmør: Freelancerne kan man også nemt ramme da man kan tage til flash foredrag og konferencer inde for flash, hvor man fremvise teknologien og få deres opmærksomhed, hvorved man sælge systemet på den måde. Men ellers kan man bruge samme måde som ved fritids programmerende, altså gennem Internettet med forums og hjemmesider samt e-butikker hvor man kan sælge systemet gennem et andet firm. Her du over kan man vælge at læge informationer ud på google for at fange interessen om systemet Hardcore firmaer: Firmaerne er meget svære at få fat i, da de mange gange ikke opsøger ny viden, men man kan altid lave hjemmesider og udgive sit system på et andet firmas side, som sælger systemer. Men den mest effektive måde man kan få fat i firmaerne på er ved at kontakte dem personligt, altså opsøge dem, med en præsentation som viser hvad systemet kan. Her ud over kan man også fange deres medarbejder, gennem skolerne før de bliver uddannet og på den måde få informationen vider til firmaet. Afleveret d. 12. Juni 2007 Page 18 of 56
19 7.3.3 Udgifter ved bearbejdning Fritids programmør: Udgifterne vil være minimale fordi mange af tingende man kan gøre for at få fritids programmørens opmærksomhed er gratis. F.eks. google og forums, og meget andet, det eneste som der koster noget er det tid man bruge for at reklamer for sit system, og for at skabe en hjemmeside hvor folk kan læse om systemer og få hjælp til dens brug. Freelance programmør: Det vil komme til at koste noget mere for af ramme freelancerne fordi man mange gange skal betale for at have en plads ved en konferencer, og e-butik for at sælge dit system. Men ellers vil alt andet være gratis og bare tage tid. Hvis man ser i forhold til at ramme fritids programmørerne vil dette her komme til at koste noget mere, men igen, man ville også få mere kontakt med dem som arbejder meget med flash og ud over det vil man også være i stand til at se hvad andre folk har lavet, af nye ting. Hardcore firmaer: Man vil ikke bruge mange penge på at få fat i firmaer, det eneste som det ville koste noget er det jakke sæt man skal have på, til de møder hvor man kan fremvise sit system. Her ud over kommer det til at tage rigtig meget tid, da det er mange møder man skal til og firmaer tage sjældent hurtige beslutninger, da alting skal gennem tænkes det først Konkurrencesituationen i segmentet Jeg ser ikke de store konkurrencesituationer i nogle af segmenterne fordi, at det er et helt nyt system som ikke er udviklede, det kan være at der kommer nogen når nogen udvikler noget lindene system i fremtiden. Men som det ser ud lige nu er det stadig et ny tænkende projekt. Så den eneste konkurrence der er fra firmaer som synes det er en god ide og selv prøver at udvikle et system som dette Valg af segment Når man kigger over de 3 segmenter, ser man hurtigt at Hardcore firma segment, ikke rigtig funger, da det tage for meget arbejde og man ikke ville tjene nok på selve programmet, med mindre det var meget stort og indviklet. Samtidigt vil det tage meget tid at informer firmaerne, da man skal rundt til dem alle samme, og man ville ikke være sikker på man fik solgt systemet efter man var færdig. Så der for ville min målgruppe ikke være til hardcore firmaer, da der ikke er nok fortjeneste i det og det vil tage for meget tid. Så har vi kun fritids og freelance programmørerne tilbage, de lægger meget tæt op at hinanden og ved at det er meget let at udgive information om systemet til dem begge to. Freelancerne er lidt svære at få til at købe programmet da de mange gang selv er godt til at programmer, hvor efter fritids brugere ikke har det helt store brug for systemet, ud over at lege med det. Så der ved må selve systemet vel beregne sig til de to segmenter, og at man så bare holder det så enkelt og så nemt så muligt, og alligevel gør det muligt at få systemet til at tilpasse sig for dem som er beder til at programmer (freelancerne) Afleveret d. 12. Juni 2007 Page 19 of 56
20 Når vi nu har disse to segmenter som ikke er så forskellige, vælger jeg at bruge en koncentreret markedsføring 4 som min målgruppestrategi, da de ikke er så meget forskellige på de to grupper, da de begge to ligger som middel gode programmør som har brug for et system som kan hjælpe dem med at spare tid og give noget mere interaktiv 3d på deres hjemmeside. Jeg her et produkt som skal sælges, og fordi det er en af de eneste ting mit firma har lige nu, skal jeg se på hvordan jeg kan sælge system uden at miste for mange penge. En af måder man kunne sælge system på var ved at sende en cd ud til kunden. Men det ville tage lang tid og koste mange penge. Så der for vælger jeg at bruge E-business E-business er transformation af virksomheders værdikæde-aktiviteter og forretningsprocesser ved anvendelse af Internet og andre elektroniske digitale teknologier. 5 Grunden til det er fordi et program er ligeså let at sende gennem nette som det er at sende gennem posten, her ved kommer det ikke til at koste noget, og så vil brugeren få programmet med det samme i stedet for han skal vente på det. Så der er beder kunde servis og man slipper for meget arbejde med at send programmet med posten. Men det har også sine negative ting, da det hurtig kan komme til at koste meget i software og server, hvis man selv skal stå med det fra bunden af. Derfor vælger jeg at udgive mit system på et andet firmas server som sælger programmer, på den måde slipper jeg for at tænke på det selv, og så skal man ikke selv ud og få lave en betalings system til sin hjemmeside, som også kommer til at koste penge. Men ved at gøre det på den måde kommer det til at koste mig nogle gebyr for at have mit program på siden. Det er ikke ret meget så længe man kun har få programmer til at ligge og ved at ligge på en samlede server, vil nogle folk også støde ind i systemet når de er ved at købe andre programmer. 7.4 Markedskonklusion Jeg synes jeg fik meget ud af den spørgeskemas som jeg fik lavet, selv om der ikke var så mange der udfyldte skemaet, så synes jeg alligevel at jeg fik nogle gode informationer, som jeg så kunne sammenline med mine samtaler med elverne fra Skotland af. Det var dem som brugte lidt mere tid på flash som var mest interesseret, i sådan et system, og det er meget logisk. Her ud over fandt jeg også ud af at det skulle være meget simpelt af forstå og brug, før at folk have lyst til at bruge programmet. Konkurrenterne ligger lige om højrente så hvis dette system skal blive til noget, skal de udvikles inden for kort tid, da 3d er ved at være mere udbred inden for hjemmeside. Mange af konkurrenterne er noget længer fremme med udviklingen af 3d i flash, end jeg er kommet så der for skal jeg køre på at mit system er beder i andre områder. 4 International markedsføring 2. Udgave side International markedsføring 2. Udgave side Afleveret d. 12. Juni 2007 Page 20 of 56
21 Ud fra disse ting og markeds analysen er jeg kommet frem til at selve systemet skal udvikles til fritids bruge og freelancers, da det er de personer som har størst interesse i sådan et system, og den bedste måde at sælge det på er gennem Internettet med E-business. Selve informations delen og sælge metoden skal gå gennem google og andre søge sider, så de kan finde mit program inde på det E-business firma som jeg bruge til at sælge system på. Her ud over skal der nok også være en salgs hjemmeside hvor man kan se systemet på, samt forklaring om hvad det er. 8 Målgruppe analyse I dette emne vil jeg fast lægge min målgruppe, så jeg ved hvem jeg har med at gøre, og på den måde være i stand til at kunne lave min programmering efter personen. Her ud over vil jeg også lige lave nogle bruger scenarier for at få en følges af hvem det er som ville bruger systemet Min målgruppe ligger fra 18 til 30 år, som har det til fældes at de bruger flash og 3d studio max eller andre 3d programmer. Her ud over er det til dem som ved hvad action script er for noget og ved hvordan det funger. Hvis man ser de ting jeg fandt i markeds undersøgelse kan man også godt udelukke hardcore programmør da de selv ville lave deres egne kode. Se side 20 Selve målgruppen er dem som ikke selv kan finde ud af at lave 3d objekt uden at bruge grafiske billeder og har lyst til at arbejde med noget som er interaktiv og i stand til at ses fra alle vinker af. Her ud over er målgrupperne meget stor, da programmering laves af mange forskellige mennesker og bruge til mange forskellige ting, så et eller andet sted er det middel gruppe jeg gerne ville ramme, dem som ikke har viden nok til at lave 3d objekter i flash men alligevel kan programmer sine egne ting. Dette gælder ligeså meget dansker som udlændinge, da Internet er forbindelse til helle verden, uden man skal gøre så meget ekstra. Det eneste er bare at fine et udlands firma som kan sælge system for dig. Det vil sige at min Primær målgruppe er Fritids brugerne, hvor efter min sekundær, målgruppe er freelancer 8.1 Brugerprofiler og brugerscenarier Profil 1 Claus Jensen Claus Jensen er en studerende på 22 år, som er i praktisk, som elektriker. Han har ingen kæreste lige for tiden, da har bruger lidt for meget tid foran skærmen, når han nu ikke er på arbejde. Han har to søskende, den ene er lige blevet 27 og den anden er blevet 17. Han er flyttet hjemmefra da han var 19 for der synes han selv at han skulle. Han bor i en 38 kvm. værelse med eget køkken og bad Han bruger meget af tiden ved computerne til at lave hjemmeside, da han synes det er fed at sidde og arbejde med noget der har uendelige muligheder. Afleveret d. 12. Juni 2007 Page 21 of 56
22 Efter noget tid er han også begyndt at bruge flash, hvor han lige kommet til det punkt hvor han kan få en movieclip til at bevæge sig, fra koden af. Det var han meget stolt over, da han aldrig har programmeret før. Brugerscenarium Claus var lige kommet hjem fra arbejde af, da han satte sig hen til pc for at søge lidt på nettet. Her efter fandt han en side hvor de viste et 3d objekt, som roteret rundt... han synes faktisk det var meget sejt og ville gerne vise nogle af de ting som han havde lavet i 3d max, de var godt nok ikke så godt, men det var Claus ligeglad med det gjorde jo ikke noget. Så der for begyndte han at undersøge hvordan man lave sådan en 3d figur, og fandt hurtig ud af at det ikke bare lige var sådan at gøre. Mens han søgte rundt på google faldt han over, et system som kunne lave 3d objektet i flash fra 3d studio max. Det lyde til at være meget spænende, og gik ind og undersøg hvad det var for noget, og fandt ud af at det var et system som var meget simpelt at bruge og koste ikke så meget. Så der for købte han den og fik fremvist sine 3d figur på nettet, i et 3d miljø Profil 2 Mads Rasmussen Mads Rasmussen er en freelance flash programmør, som er 29 år, han har arbejdet med flash og 3d i de sidste 4 år. Han har en kæreste som hedder Lene og hun er 27 år. De bor i en villa kvanter lige i udkanten af Kolding. Før Mads begynde at arbejde med flash og 3d var han maskine arbejder, og det arbejde synes han ikke om, så der for gik han over til flash og 3d, da han opdagede at han have talent for det. Først prøve han at finde et firma som ville ansætte ham, så han kunne komme i voksenlære. Men han fandt hurtig ud af at der ikke rigtig var nogen som ville have ham, men han gave ikke op det. Efter nogen tid lavet han en side for en af hans ven, og nogle uger efter have han masser af arbejde da, der var mange som gerne ville have lavede nogle enkle ting, til deres hjemmeside og som tiden gik, blive programmerne støre og støre. Brugerscenarium Mads havde gang i forretningen da han have fået til opgave at lave et 3d objekt som kunne bevæge sig til et spil, problemet var bare at selve objektet skulle være interaktivt da det var en kampsport spil. For at kunne få figurerne til at se mere ægte, skulle figurerne udregnes undervej, det vil sige at selve systemet skulle være i stand til at rendere et billeder helle tiden og her ud over skulle de også kunne sparke og slå hinanden, det vil sige at den skulle være interaktiv. Mads sad og knoklede med dette system, i flere dage, for at få det til at virke, men han kunne simpelt hen ikke få koden rigtig. Han besluttede sig for at gå ind på Internettet og ser om der var nogle andre som have fundet en løsning. Efter nogle timer fandt han over et system som kunne lave 3d objekter og bevæge dem bag efter med bone system. Det koste godt nok noget men det var ikke så meget så han prøve at købe det og fik hurtig sat en 3d figur på benede i 3d studio max. Og nu skulle han kun programmer flash, til at vise figuren, efter bare 5 minutter kom figuren frem på skærmen, og efter par time funger den så den kunne være interaktiv, altså bevæge bene og armene. Afleveret d. 12. Juni 2007 Page 22 of 56
23 9 Kommunikationsplan I dette afsnit vil jeg forklar lidt om hvordan jeg vil kommuniker mit budskab ud, for at kunne sælge systemet, og hvad for nogle informationer som jeg skal have udgivet sammen med koden, for at man kan bruge den Formål Mit formål med dette projekt er at skabe en kode som kan lave og styre 3d objekter, ved brug af 3d programmer så som 3dmax, autocat og flere. Her ud over håber jeg også på at kunne sælge systemet så jeg kan tjene nogle penge på systemet. 9.2 Effekt At kunne sælge systemet, til så mange mennesker så muligt, og at det bliver lidt mere hverdags eje at have interaktive 3d objekter på private hjemmesider. Samt at folk kan forstå systemet og på den måde have let ved at lave og animer 3d objekter, som ikke trækker for meget af Internettet når man skal se siden. 9.3 Afsender Jeg er afsender efter som der er min ide og jeg selv lave systemet. Med dette system vil jeg håbe på at kunne rygge 3d på hjemmeside, til at være noget helt normalt, som alle bruger helle tiden. Dette vil også skabe nye måder at naviger på, og selve reglerne for en hjemmeside opsætning vil også forandre sig da man skal tænke 3d i stedet for 2d. 9.4 Målgruppe Min målgruppe er den som er middel programmør, da det er dem som ville have interessen i at bruge 3d objekter og på den måde udvikle Internettet til at bruge mere 3d på hjemmesider. De har interesse i at lave et mere 3d verden i stedet for det gamle 2d verden. De er nyskabende, og mere frem af gående. 9.5 Budskab Er at give mere interaktiv 3d uden de store problemer, altså gøre det mulige for en simpel flash bruge til at lave et 3d objekt som ser godt ud. 9.6 Medie Jeg har valgt flash da det er et meget let interface og nemt at bruge. Her ud over vil selv informationen ligge inde på et firma som er et E-business som sælger programmer, her inde under vil der så stå hvad mit program kan og hvad den skal bruges til. Jeg vil nok også lave lidt reklame på min hjemmeside for at tiltrække kunder men hoved saglig talt er det kun på firmaet side. Her ud over vil jeg også indsætte information ind på google og andre søge sider. 6 Udviklingen af multimedier En helhedsorienteret metode 2 udgave side Afleveret d. 12. Juni 2007 Page 23 of 56
24 9.7 Kommunikationsmiljø Efter man har hentet den fra Internettet af skal det bruges på computeren sammen med flash, for at kunne lave objekterne. Her ud over skal man først have lave et 3d objekt i 3dmax som man skal have konverteret, så flash kan læse informationerne. 10 Kravspecifikationer Min 25kb data som skal hentes Skal være hurtigt og nemt at få et 3d objekt ind i flash Det helle skal styres fra en ekstern fil 11 Konceptbeskrivelse I dette afsnit vil jeg skrive om hvad for et koncept jeg har lagt mig fast på. Dette vil hjælpe mig i at udvikle systemet, så der er støre mulighed for at kunne sælge den. Jeg har valgt at delle det op i 3 områder, altså Brugervenligt, Bevægelse og Videreudvikling, da jeg mere at det er de tre hoved emner som vil få mit program solgt på Brugervenligt Hvis man går op og kigger på markedsundersøgelse under Spørgeskema under resultat side12, kan man se at en af de mere vigtige ting i dette program er, overskueligheden og brugervenlighed, det vil sige at folk gerne vil have et system som bare funger, så der for skal man lave en simpel kommando som ikke er så meget ude efter at der skal være 100 variabler som skal udfyldes for at få systemet til af funger. Når det skal være så bruge venligt kræver det meget arbejde, fordi det helle skal lave så åben og brugevenligt. Men igen så skal det stadig kunne det folk gerne ville have den til. Så der for skal systemet være så enkelt som det overhovedet kan være, uden at ødelægge funktionaliteten 11.2 Bevægelse Bevægelse er en af de ting som er meget vigtig, for at det kan sælge, Hvis vi kigger under markedsundersøgelser under konkurrence side 13 kan man se at der eksister rigtig mange ting ude på markedet så som 3d objekter der kan roter. For at kunne ud konkurrere dem, skal jeg have udviklet min ide helt ud, og det vil sige at udvikle systemet sådan at man har mulighed for at få sin figur til at bevæge sige efter et bone system. For det er her jeg skal gøre en forskel. Uden dette system ville jeg ikke have en chance mod de andre firmaer. Her ud over skal man også kunne flytte punkterne så man kan lave om på figuren, dette vil være en fordel hvis man nu skal have lavet noget mekanisk som skal bevæge sige. Afleveret d. 12. Juni 2007 Page 24 of 56
25 Så derfor skal systemet, have muligheden for at kunne bevæge sig, og bevæge punkterne selv uden helle objekter følger med. Her ud over skal der også laves hjælpe midler som skal være i stand til at bevæge punkterne efter en nogle regler, så man har mulighed for at bevæge et ben, på en person objekt f.eks Videreudvikling Videreudvikling er altid godt, for hvis det er muligt at vider udvikle systemet, har man støre chancer for at være med på markedet, da man ikke skal starte forfra hver gang systemet skal opdateres eller den skal kunne noget nyt. Hvis vi ser på dette system, skal den nok højest sandsynlig udvikles med lys indstillinger, Alpha kanaler, refleksions af materialet, Runde linjer og billeder maps som kan ligges hen over figuren for at kunne følge med. Ved at lave systemerne som et plugin system vil det være muligt at sælge dem som små adderinger til dette system sener hen. Så der for skal systemet være godt programmer fra starten af, så det er muligt at lave plugin programmer til systemet uden at man skal ind og rediger i start systemet, alt for meget. 12 Kodeanalyse I dette afsnit vil jeg forklar om hvordan jeg finder frem til den bedste måde at programmer de forskellige systemer på. Det vil være delt op i 5 delle, den første vil være sammen sætningen fra 3dmax til flash og de 4 andre vil være UML undersøgelse og så den eksterne file, med informationerne i til 3d objekt også Flash systemer hvordan man bedst mulig kan programmer system og sidste vil være 3d max og de andre 3d programmer om hvordan man bedst muligt kan programmer dem til at lave en ekstern fil Sammen sætningen fra 3d max til flash. Når man ser på de to forskellige programmer finder man hurtig ud af at de er meget forskellige fra hinanden og det ville være svært at få til at arbejdet sammen bare uden vider. Jeg skal have fundet en måde hvor på jeg kan overføre informationer fra 3d studio max over til flash. Jeg har tænkt en delt over det og den eneste måde jeg fandt, var ved at bruge filer til at overføre informationen med. Først tænkte jeg på bare at læse en 3d max file og finde informationen der fra, da jeg opdaget at det ikke er muligt at læsse dem, uden programmet. Afleveret d. 12. Juni 2007 Page 25 of 56
26 Det næste jeg kom frem til var at lave mit egent file system, altså lave en fil som kunne åbnes i notesbog, som er kaldt F3D som står for Flash 3D. For at flash kunne læst informationerne, og så kunne man bare lave en plugin til 3d studie max som kunne skrive filen. Se figur 11.1 Dette system gav også mange muligheder, fordi man kunne lave forskellige file som kan blive vist på sammen tid i flash uden den gik ned. En anden ting ved denne måde, er at den kan udvikles til alle 3d programmer, så længe, man selv kan lave sine egne plugins til systemet. Da det bare kræver et templet til filens opsætning samt tid og penge UML UML er nogle måde hvor på man kan finde den bedste måde at programmer på. Det hentyder til at finde de rigtige informationer som skal med i systemet og her ud over finde den rigtige måde at gribe det and på 7 8. Jeg bruget mest Artiklen da den gav et rigtig godt overblik over indholdet så jeg vil holde mig til den Case Modelling Man bruge moddeling 9 systemet for at analyser på hvordan et firma eller andre ting funger, f.eks. når man bestille en billet i lufthavnen, hvor efter der vil sker noget internt i lufthavne og du så får du en plads på flyet eller får af vider at der ikke er plads. Jeg vil bruge dette system til at finde ud af hvordan mit system skal funger, og tænke over handlingerne. Selve systemet kan man se på figur 11.2 Dette system, har to handlinger det ene er en eksport plugin til 3dmax og den anden er selve Flash programmet som viser 3d figuren. De arbejder sammen gennem brugeren, ved at 3d max laver filen, til flash. Jeg gå ind og se på hvordan programmerne og brugeren skal reager for at det ville funger bedst muligt. Hvis jeg starter med 3d max case beskrivelsen. Brugeren Eksport 3d objektet Boks. Visning af hvordan filerne arbejd sammen Se figur Artikel fra POPKING Software Modeling Systems With UML 8 UML in Practice: The Art of Modeling Software Systems Demonstrated by Pascal Roques (Author) 2004 side Artikel fra POPKING Software Modeling Systems With UML side 11 Afleveret d. 12. Juni 2007 Page 26 of 56
27 Systemet Tjekker om Boks eksister. Åbner indstillings vindue i mens Brugeren Opsætter indstillingerne. Brugeren Trykker ok Systemet Tjekke íntastet information. Systemet Udregner punkterne og indsætter dem med de opsatte indstillinger Systemet Skriver informationerne ned i filen, og gennem tjekker dem. Systemet Er færdigt, Sender filene hen til den rigtige position på harddisken Dette er sådan systemet skal reager med brugeren når man bruger 3dmax ekspoter funktionen. Den næste er så Flash case beskrivelse. Brugeren Indtaster funktions, til at indlæse file, fra 3d max systemet af Systemet Tjekke informationerne som brugeren har indtastet. Systemet Indlæser filen, og gemmer data efter brugerens input. Systemet Giver tilbage melding om det er gjord rigtigt eller forkert Case Modellling Figur 11.2 Brugeren Indtaster funktion, til at opsætte informationerne efter han brug på dette tids punkt. Systemet Tjekker at funktion eksister og om alle informationer er der. Systemet Forandre informationerne efter brugeren. Systemet Giver tilbage melding om det er gjord rigtigt eller forkert Brugeren Indtaster en funktion for at renderer 3d objektet Systemet Tjekker igen om alle informationer er til steder. Systemet Begynder at rendere 3d objektet Systemet Giver tilbage melding om denne handling Brugeren Bruger funktionen til at bevæge bone systemet ti grader. Systemet Tjekker efter om der er et bone system og hvad for nogle indstillinger bone systemet har Systemet Hvis det er godkendt rykker den bone systemet 10 grader, og forandre informationerne så punkterne passer med bone systemet. Systemet Giver tilbage melding om handlingen er sket eller ej. Her ud fra får jeg et godt billede over hvordan systemet vil komme til at se ud, og hvad for nogle handlinger jeg skal have med. Afleveret d. 12. Juni 2007 Page 27 of 56
28 Sequence Diagrams Sequence 10 er et meget effektiv model til at finde ud af hvordan de forskellige case arbejde sammen med brugeren og firmaet, i dette tilfælde valgte jeg at modificer den lidt til at vise hvordan de forskellige programmer sender deres informations vider til hinanden og hvordan brugen håndter programmerne. Man kan se hvad der sker når bruge går ind og give en kommando til de forskellige programmer. På figuren er der 2 bruger indgange, fordi der er to programmer, som er i brug. Se figur 11.3 Sequence Diagram Figur 11.3 Det gør det muligt at se det arbejde som programmerne skal gøre og hvordan den eksterne fil blive til centrum, for helle systemet Modeling class behavior whit state diagram Modeling Class behavior 11 er et diagram som viser hvordan class ligger, og hvordan de bliver på virket af andre uden fra kommende ting, så som funktioner og brugenes input. På den måde kan man få lidt beder over blik over programmet før man går i gang med at kode det, og på samme måde slipper man for at skulle udvikle system igen fordi at de sidste funktioner ikke er med. Se figur Artikel fra POPKING Software Modeling Systems With UML side Artikel fra POPKING Software Modeling Systems With UML side Afleveret d. 12. Juni 2007 Page 28 of 56
29 Modeling class behavior whit state diagram Figur 11.4 Den ser meget indviklet ud men det er ikke så slemt, jeg ville lige gennemgå den. Det hele starter med at bruge inputer informationen, om hvor den eksterne fil ligger hende hvor efter den så gemmer det i flash, i dens database. Her efter aktiver man Lavning af 3d objekt om gå ind og plaser alle punkterne på deres rigtige position. Det samme sker med Lavning af bones systemet her ud over sender den også alt data over i den rigtig movieclip så man slipper for at have det til at ligge samme sted i rodet, og skabe problemer sender hen. Når det så er sket kan man begynder at render objektet, som har forbindelse til rotations og positioner og scale funktioner som styre bevægelserne for objektet. Sidst men ikke mindst har jeg bevægelser af punkterne, som giver, mulighed for at bevæge hvert et punkt, for sig selv. Det er det samme for renderingen bonesystemet, da den også skal bevæge sig, her ud over har den også forbindelse til objekt renderingen som gør det muligt at bevæge punkterne, når bone systemet bevæge sig. Afleveret d. 12. Juni 2007 Page 29 of 56
30 Dette system giver lidt beder overblik over hvad der skal laves og uden den kunne den kunne det godt være svært at komme i gang. Jeg ville ikke bruge flere af UML diagrammerne da jeg ikke synes de er så anvendelig til dette projekt Eksterne file Her vil jeg prøve at planlægge hvad for nogle informationer som skal være med i file, for at kunne lave et 3d objekt. Jeg siger prøver fordi der altid ville komme flere ting til som tiden gå og måske finder jeg nogle beder metode at gøre det på. Jeg starte med at over veje hvad en 3d figur enlig skulle bruge af informationer så der for valgte jeg at lave en kasse og se på hvad for nogle informationer den skal have for at være i 3d. Se Figur 11.5 Det første og mest logiske var at hvert punkt skulle bruge x,y,z informationer, for at vide hvor den var henne. Det næste var side pladerne, det skulle være et system som fortalte hvad for nogle koordinater som de havde. Men det er aldrig godt at have flere informationer af den samme, så der for lavet jeg det om til at være numre, på punkterne i steder for, og på den måde ville man være i stand til at hente koordinaterne på punktet og give det vider til hvor pladerne var forbundet. Men det hjælper jo ikke ret meget at den kun kan lave siderne når den ikke har nogle farve, så der for skulle jeg også have noget farve information. 3D objekt Figur 11.5 Der var ikke rigtig mere information, som jeg kunne se på dette objekt, indtil jeg kom til at tænke på et andet objekt, som var et Trekant. Hvordan ville systemet kunne vide hvor mange punkter der er og overflader, så der for skulle jeg også have et antal, punkter, og overflader. Ud over de informationer som jeg har nu så synes jeg også jeg skulle have rotations hastighed i x, y, z akslen og størrelsen og start position, så man ved hvor den starter henne. Der er mange flere forskellige ting som jeg kunne have tage med, så som Alpha, lyst styrke og linje bøjninger, men jeg synes dette her var nok til at starte på, så man kunne få lavede noget der fungere før man gjorde det for indviklet. Ud fra disse informationer fik jeg lavet noget som kom til at se sådanne ud Jeg kalder min punget for point, og så et nummer hvad det er for et punkt og så det er px for point x. og det bliver jeg så ved med indtil jeg har alle punkterne. Afleveret d. 12. Juni 2007 Page 30 of 56
31 &Point0px=-100& &Point0py=-100& &Point0pz=-100& &Point1px=100& &Point1py=-100& &Point1pz=-100& &Point7px=-100& &Point7py=100& &Point7pz=100& Her efter har jeg overfladerne og hvor det er forbundet til, jeg kalde dem connetion points, for det er dem som samler over fladerne. Jeg har igen et tal bag efter for at indiker hvad for en plade det er og så kommer _0, _1 og _2 for at indiker at det er point 1, 2 og 3 her efter kommer farve værdien for fladen &cp0_1=0& &cp0_2=1& &cp0_3=2& &cp0_col=0xd91b00& &cp1_1=0& &cp1_2=2& &cp1_3=3& &cp1_col=0xd91b00& &cp11_1=4& &cp11_2=3& &cp11_3=7& &cp11_col=0xdb5959& Efter alle disse information har vi scale som indiker størrelsen på objektet i x, y, z akslen &scale_x=100& &scale_y=100& &scale_z=100& Efter det har vi start punkterne i x, y, z akslen &StartX=200& &StartY=300& Afleveret d. 12. Juni 2007 Page 31 of 56
32 &StartZ=50& ScaleControle styre hvor meget den drejer tilbage i billeder altså scale forholdet, og så kommer rotation hastigheden i x, y &ScaleControle=200& &xspeed=20& &yspeed=0& Til sidst har vi selve antallet af overflader og punkter &Surface=11& &Points=7& Jeg bruger & for at flash kan forstå variablene, som den kan bruge, det gør det nemme at indlæse filen Flash Selve Flash filen skal laves som en extension for programmet, det vil sige at funktioner skal kunne ligge i selve systemet. På den måde vil det bare være at skrive funktion og du har et 3d objekt. Men problemet er at det er meget svært at få disse extension lavede. En extension gør det at den installer funktion ind i programmet, og på den måde vil komme til at ligge i ens funktioner, over i side, og hver gang man skulle bruge systemet ville den bare være det Jeg undersøgte mange ting for at finde noget om hvordan man lavede en extension file. Jeg fandt noget som viste hvordan man gjorde ved en simpel ting men det fungerede bare ikke, så der for valgte jeg at lave mit program som en as file, der bliver importeret ind for at løse opgaven. Denne måde er ikke lige så smart da det er en åben file, som alle kan kigge i og rediger. Men til at lave en prototype gør det ikke så meget. For det helle kommer til at køre fra et område af, på samme måde som det andet. Selve extension er lavet ved hjælp at en xml file og selve flash as file, men jeg fik det aldrig op at køre. Selve programmet skal køre som en classes når det er en ekstern file fordi så kan den blive lagt ind i flash swf filen når man publisher den, på den måde behøver man ikke at have den eksterne file med når man lægger den ud på hjemmesiden, her ud over skal det helle køre på funktioner D studio max Jeg kom aldrig så lang med 3d studie max fordi jeg ikke kunne finde ret meget om hvordan man programmeret plugins jeg fandt ud af at selve programmet man skulle bruge hed Visual Studio 7.1 (.NET 2003), hvor man så skulle have en plugin så man kunne lave programmerne til 3d max som jeg også fik fat 12 Adobe hjemmeside 13 Flash MX Bible - Robert Reinhardt Flash ActionScript for Designers - Doug Sahlin 2002 side Foundation Flash Mx Kristian Besley and Sham Bhangal 2004 Afleveret d. 12. Juni 2007 Page 32 of 56
33 i. men det var så det, men jeg kunne ikke finde nogen bøger om, hvordan man lavet koden eller noget. Det eneste jeg kunne finde var et kursus som tog 10 dag, og koste rigtig meget. Her ud over skulle man også være rigtig god til at programmer for at kunne være med til kursuset. Det var så her jeg beslutte mig for at stoppe med at bruge tid på denne del, og få lavet noget af det andet. Så der for venter jeg med at bruge tid og energi på noget programmering som ligger så langt ud over mine egenskaber lige for tiden. og denne del er ikke vigtig for at kunne bevise at man kan lave 3d objekter i flash og bevæge dem efter et bone system. 13 Kodeopbygning I dette afsnit vil jeg gennemgå koden hvorfor jeg har opbygget det på den måde jeg har og hvad de forskellige ting skal bruges til, jeg vil ikke gå så meget i dybden da jeg har skrevet kilde kode som forklar det meste. Der for vil det bare blive i store træk Da jeg begyndte at programmere system valgte jeg at lave public static function det vil sige at det er en funktion som er åbne at skrive til, men den bruge ikke andre variabler som ligger i classen uden man henter dem ind i funktionen. På den måde slipper man for at der lige pludselig sker problemer, da nogle af variablerne bliver forandret. Jeg vil lige hurtig gå over de funktioner som jeg har med i dette system Render systemet funktioner o LoadObjekt(Files, Objektname) o Rendere(Objektname) o Rendersurfaces(Sp1, Sp2, Sp3, SpCol) o Controlview(pointAx, pointbx, pointcx, pointay, pointby, pointcy) Hjælpe middel funktioner o Roter(Objektname, Func, Value) o Scale(Objektname, Func, Value) o MovePoint(Objektname, Func, Points, Value) o Position(Objektname, Func, Value) Reset funktioner o ResetFromFile(Objektname) o Resetpoint(Objektname) o Resetscale(Objektname) Informations funktioner o Info(Objektname, Func, Text, Points) o InfoUse(Objektname, Func, Points) Dette er hvad der er blevet skabt, for at få dette 3d system til at funger og vær interaktiv sammen med at det skulle være nemt at bruge. Afleveret d. 12. Juni 2007 Page 33 of 56
34 Hoved opbygningen af alle funktioner er at de har et objektname som indiker hvad det er for et objekt vi har med at gøre, eller hvad det er for et objekt vi skal til og skabe. Det vil sige hver gang man skal have lavet noget på et objekt giver man det objektname og så rediger den det, hver ved er det nemt at rediger objekterne og man behøver ingen gang at have en destination på hvor objektet ligger henne, da den selv gøre det.. Hvis jeg starte fra toppen af har vi de funktioner som lave og frem viser 3d objeket. Disse funktioner er hoved kerne gruppen da det er dem som styre det helle. Der er en funktion som henter informationen og bruge den og det er Rendere funktionen. Det er den som lave alt arbejdet, som udregner positionerne og lave overfladerne, styre hastigheden som den roter objekt med. Dette passer ikke helt med UML diagrammer se side 29 og det er fordi, at jeg fandt ud af at det var meget smarte at rygge den ned i renderene i steder for altså lave objektet. Ved at gøre det på den måde slipper man for rigtig meget arbejd, og en masse spildt kode, som bare fylder og bruge kræfter fra computeren. Selve rækkefølgen er som de er skrevet oven over, hvor man starte med at indlæse filerne som så bliver tjekket om det er rigtig informationer og om der er bogstaver i mellem for at søge for den ikke går kold for brugen, hvis der er en fejl vil programmet automatisk stoppe dette objekt og skrive en besked ud som indiker hvor problemet er henne. Denne udmelding vil kun komme når man køre programmet fra Flash af. Det vil sige at bruge ikke vil kunne se disse informationer på hjemmesiden, med mindre man selv lave et test system som informer dem om det. Fordi koden er så åben er det ikke særlig svært at lave. Det er også en af de store fordele ved dette system i forhold de andre konkurrents systemer se side 13 er at man selv kan vider udvikle systemet, fra flash filen af. De sidste to funktioner i render systemet funktioner er til at lave overfladerne med og den anden er til at kun vise overflader som er synlige. Her efter kommer der en masse hjælpe funktioner, som bare gør det at den går ind og lave værdien om i de gemte objekter. Den eneste grund til det er for at skabe en nemmer kontrol system for brugerne så de kun skal sende nogle informationer til selve funktionen og så gør den selv resten. For det meste er den kun objektname som den skal bruge, sammen med func som er den funktion man gerne ville have, f.eks. flytte den 40 pixel i x akslen, som ville hede Pos_x i funktionen Position og til sidst værdien, som den skal flytte med. Hvis man vil ind og rediger pointer skal den også vide pointet. Du kan se hvordan man gør på my_version der er alle funktionerne brugt. Reset funktioner er til at nulstille objektet med, der er to forskellige den ene er til at genlæse informationer fra sikkerheds variabler mens den anden genlæsse filen. Grunde til de to er forskelle er når man flytter punkterne i x, y, z akslen ud over deres normale gang, kan den ikke nulstilles, det vil sige at man skal genlæse file. Til sidst har jeg Info funktionerne som gør det muligt at få information om hvad for en position og scale og meget andet er henne. Grunden til der er to er fordi den ene bruges til text fiealds og den anden kan bruges til udregninger som jeg har vis i min version. Afleveret d. 12. Juni 2007 Page 34 of 56
35 Det var lidt om hvordan programmering er byget op, selve udregningen af objekterne sker med matematik, altså at udrenge hvor x værdien skal være denne gang i forhold til sidste gang, ved at bruge trekomatri altså cos og sin til den vinkel som den er på. Grunden til at den forsætter rundt er fordi den udregner punktet ud fra sidste position i både x, y, z. Når man ser lidt mere dybde ned i flash har den ikke nogen z aksle så der for laver man en ved hjælpe at scalaen som får det til at se ud som om den bevæge sig længer væk, men rigtig er det bare et 2D billede som bliver vist, men igen så har en pc skræm ikke nogen z aksle så der for vil det altid være en illustration af at være et 3d billede, det gælder også 3d studio max. Jeg vil ikke snakke så meget om kode fordi det hele er skrevet i kilde koden. Men jeg ville lige tage nogle af de ting frem som jeg har brugt i rapporten For funktionen For funktionen bruges til at gennem køre tingende flere gang, altså hvis man gerne ville lave noget som kunne vise tallene fra 1 til 10, uden selv at skrive det, så kan man bruge for, se eksemplet neden under. Denne funktion kan ikke ses, da maskine udregner det helle meget hurtigt før den gå vider. Den er uundværlig når man programmer, man skal bare være sikker på at den stoppe igen. For (i=1;i<10;i++){ Trace (i); 13.2 If funktionen If funktionen er meget simpel den går bare ind og tjekker efter om det er sandt eller falsk, hvor efter den gør en handling eller om den bare forsætte i programmet. F.eks. man har to variable som skal være det sammen, hvis det er så skrive den en besked se eksemplet neden under If(Test1 == Test2){ Trace ( det er sandt ); 13.3 trace() trace bruges til at skrive beskeder i flash output, f.eks. hej og så vil der så hej i out put se eksemple trace( Hej ) Afleveret d. 12. Juni 2007 Page 35 of 56
36 13.4 parsefloat() parsefloat bruges til at sørge for det kun er tal som slippe igennem, det vil sige at bogstaver vil blive sorteret fra f.eks. 443a det vil blive til 443 på den måde krakker systemet ikke. Ved at få en String når den vil have et number new Array(); Array er små tabeller som gemmer information ved hjælp af navne eller numre. Når man skrive ny array lave man en ny tabel som man kan skrive informationer i. informationen kan være alt fra tekst til numre Math.cos() og Math.sin() Math bruges når man arbejder med matematiske udregning, hvor man så kan regne ud af cos og sin er for at udregne cos og sin Math.roundt() Math bruges når man arbejder med matematiske udregning, her fra bruges roundt til at runde det op til et helt tal, f.eks. fra 143,245 til Status og Perspektivering I dette afsnit vil jeg forklar lidt om hvad for en status min kode er i forhold til hvad jeg havde planlagt, og hvad for nogle systemer der vil komme frem over, samt opdateringen af prototypen 14.1 Nuværende tidspunkt Alle tingende som er lagt med funger, fuldt ud, altså de gør hvad de er blevet programmeret til at funger, som f.eks. indlæsningen af filer og kontrol af objektet. Det vil altid kunne udvikles mere, men til at vise hvad dette system kan er det helt optimalt. Bone systemet kom aldrig til at virke, og det er jeg lidt træt af fordi det var en af de ting som ville gøre mit program beder en andres, men selve ideen er god nok, men det kræver nogle flere timers arbejdet for at kunne læse dette problem. Noget af brugevenligheden er ikke lige kommet helt med, som jeg havde planlagt det, en af grunden til det var fordi jeg ikke fik lavet systemet om til en ekstern file, men igen så fik jeg lavede et godt nemt system som alle ville kunne finde uf af at bruge, i løbet at kort tid, hver til fald selve flash dellen. Selve 3d max delle kom aldrig på tegne border fordi der ikke var nok tid, selve system skulle ikke have været så indviklet den skulle bare lave en F3D file, som man så ville være i stand til at kunne bruge i mit flash program. Afleveret d. 12. Juni 2007 Page 36 of 56
37 Når jeg nu ser på det nuværende tidspunkt, synes jeg selv at jeg har fået lavet en masse ting, da mit flash program funger meget godt, og er i stand til at skabe objekter og kunne væge punkterne, hvert for sig, og her funger alt udmærket for at kunne vise denne prototype Kommende udviklinger En af de første ting som skal laves til dette system er bones systemet som skal laves helt færdig, så man har beder kontrol over punkterne. Denne udvikling vil også skabe mulighed for at programmere, noget beder styring af bones systemet så man kan få skellet til at reager på forskellige kræfter så som tyngdekraften, eller et objekt som den ikke må gå gennem. Her efter skal jeg have lavede en måde at få lyset til at reflekter rigtig på objekterne alt efter hvor lyset kommer fra. Her ud over kommer der nok også bøjninger af linjerne som den tegner, så man kan få en rund boldt. Denne udvikling ville kunne forsætte i mange år frem da man helle tide ville være i stand til at opdater filen, og lægge mere til, da det helle køre på funktioner, som kan bliver kald uden at blive påvirkede de andre funktioner. Det helt store mål for dette projekt ville være at man kunne gøre det samme i flash som man ville kunne i 3d studio max. 15 Procesevaluering Jeg synes det har været et meget sjovt emne at tage op fordi det er min egen ide, og ikke bare en hjemmeside. Problemet var nok også lidt at jeg ikke have de normale støtte pæle at holde mig til. Altså at jeg ikke viste hvor lang tid det ville tage at få lave et flash system, eller hvor meget det krævede at lave et plugin system. Men som tiden gik fil jeg lavede mere og mere, og begynde at kunne se mit projekt udvikle sig, fra at være en masse tegninger på vægen til at kunne bevæge sig. Det hjalp også rigtig meget at være i udlandet og lave denne opgave fordi man får en helt anden vinkel på projekt, en ved at snakke med dansker. Så min studie ophold på 3 måneder gjorde rigtig meget for mig, selv om det også tog meget af den tid jeg skulle bruge til at lave hoved opgave med, og fik ikke lavet så meget i udlandet som jeg havde håbet på. Men efter jeg kom hjem kom der rigtig gang i sagerne, da jeg have muligheder for at være i de rigtigt omgivelser, og bare arbejde. Jeg mener selv jeg er nået meget langt, da det helle skulle opbygges fra bunden af og bearbejde undervej, jeg fik godt nok ikke fuld ført min bone ide da den drillede mig meget, og 3d max var der ingen chancer for at jeg kunne nå at lære det på den projekt periode. Det er nok også de ting jeg er mest træt af at jeg ikke har fået fuld ført. Men igen så fik jeg lavet et system som gør det muligt at bevæge og rediger 3d som stadig er i stand til at kunne blive udviklet sener hen. I hoved træk er det gået rigtig godt, og jeg har fået udviklet en start på noget om ville kunne buges og ville også kunne sælges med de rigtige udviklinger hen af vejen. Jeg kunne godt bruge et halvt år mere på dette projekt for at få det find puset og udviklet noget mere. Afleveret d. 12. Juni 2007 Page 37 of 56
38 Det største håb er nok at få solgt systemet og få skab noget som folk ville bruge hvor ved man vil se flere hjemmesider. Selve markedsføringen vil der nok også komme en hjemmeside om skal tiltrække målgruppe for at sælge systemet, men uden systemet er der ingen grund til at lave den så længe man har en strategi. 16 Konklusion I dette afsnit vil jeg se om jeg har fået opfyldt min problemformulering og om hvordan de er blevet løst 16.1 Er dette system blevet udviklet og hvad for nogen teknologier er der blevet lavet inde for interaktiv 3d i flash? For at kunne besvar dette spørgsmål skal vi ind og kigge under markedsundersøgelser side 13. For der undersøgte jeg konkurrenter, som viste at de er mange som er godt på vej til at få lavede sådan et system som jeg er ved at lave, men ikke har gjordet det i nu. Deres udviklinger ligger i 3d objekter som kan roter, hvor mit system skal være i stand til at kunne bevæge punkterne ved hjælp af forskellige værktøjer, Men der ville hurtig komme stor konkurrence fra mange af de nu værnene firmager hvis, det bliv kendt. Men som det ser ud nu er systemet ikke blevet udviklet. Selve teknologierne er kommet meget længer frem end jeg troede for, der er mulighed for at lave interaktiv 3d. Hvis man ser på Forgefx finder man hurtig ud af at de er meget langt fremme, og er i stand til at kunne lave et system som dette jeg har gang i. Teknologien er ude på markedet men det er bare ikke blevet sat sammen på den rigtige måde 16.2 Hvor stort interesse er der for udviklingen af interaktiv 3d i flash og hvordan kan jeg bedst muligt markedsføre teknologien? Hvis vi ser under spørgeskemaet i bilag på side 43 kan man hurtig se at der er meget interesse i sådanne et system, det er fritids bruge som er den største målgruppe, fordi det er dem som gerne vil have noget mere 3d og stadig ikke har egenskaberne til at lave det selv. Her ud over kommer den sekundære målgruppe som er freelancerne som har muligheden for at lave sådanne et system men ikke tiden, hvor det så har lyst til at købe produktet. Der ved vil jeg sige der er meget interesse for sådan et system. For at kunne komme ud til denne målgruppe skal man ud på forums og google for at få fra i dem, her ud over er det også vigtig at sælge system over E-business fordi det er letter og meget simplere på sådanne et enkelt system. Når systemet ligger ud på Internettet vil folk også komme i kontakt med det mens de leder efter andre ting op på siden.. Afleveret d. 12. Juni 2007 Page 38 of 56
39 16.3 Hvordan kan jeg lave et system som rammer målgruppen bedst muligt? Ved at lave markedsundersøgelser og målgrupper, fandt jeg frem til en måde hvor på man kunne ramme målgruppe bedst muligt. Disse ting var ved at gøre systemet let og bruge venligt, her ud over skulle det være overskueligt, og stadig have mange funktioner. Hvis man ser på selve koden er det meget overskueligt for brugeren fordi de bare har simple kommandoer de skal skrive. se side 33 for kode opbygning samt er det muligt at vider udvikle systemet uden at give for store problemer med det som allerede er lavet, så der for er det muligt at lave mange funktioner til den og stadig holde det simpelt for brugeren som kun ser de kommandoer de skrive for at aktiver selve koden. Disse kommandoer fylder ikke mere end et par liner Kravspecifikationer Min 25kb data som skal hentes Når man ser på hvor meget selve filen fylder altså swf. filen så fylder den ikke mere en 10 kb og det er endda med det grafik jeg har lavede, her ud over kommer der den eksterne fil som fylder alt mellem 2-4 kb for at have 24 punkter og 44 overflader, sammen lag giver det 14 kb og er under de 25 med 10 kb, som man faktisk ville kunne lave en meget indviklede 3d billede af at kunne udnytte, Skal være hurtigt og nemt at få et 3d objekt ind i flash Det kræver kun to kommandoer og så lige import af systemet, så det kan ikke være meget nemmer. Der er også kun to informationer man skal give, 3d objektname og hvor 3d objektet ligger henne F3D på harddisken Her ud over kommer alle ekstra tingende, som at flytte objekt og lave om på størrelsen men det er og så stadig små kommandoer i forhold til at skulle skrive kode selv. Det helle skal styres fra en ekstern fil Det helle bliver også styre fra ekstern filer af en as fil, og selve informationen kommer også fra eksterne file af F3D. 17 Litteraturliste 17.1 Bøger Udvikling af Multimedier - En helhedsorienteret metode 2. Udgave Marie Christensen og Louise Harder Fischer 2003 International markedsføring 2. Udgave Finn R. A., Bjarne W. J, Kurt J., Peter S og Thomas T 2004 UML in Practice - The Art of Modeling Software Systems -- Pascal Roques 2004 Flash MX Bible -- Robert Reinhardt 2002 Flash ActionScript for Designers -- Doug Sahlin 2002 Foundation Flash Mx -- Kristian Besley and Sham Bhangal Artikler Modeling Systems With UML -- POPKING Software 1998 Afleveret d. 12. Juni 2007 Page 39 of 56
40 17.3 Websider ActionScript.org Forums ( Flash Kit ( Flash devils ( Flash move ( Flash forum ( Udvikleren ( Actionscript( Kaon ( Webcontinuum ( Forgefx ( Hmxmedia ( Landholt ( Adobe ( 3D studie max ( Afleveret d. 12. Juni 2007 Page 40 of 56
41 18 Bilag 18.1 Bruger undersøgelse Internet spørgeskema ( Jeg er ved at finde ud af om der grund nok til at lave et easy system til flash som kan kontrol interation 3d og lave dem.(lave 3d objetker som kan bevæge sig) I am examine if there is reason, to make a easy system to flash, that can control interaction 3d and create 3d objekts ( Create 3d objekt that vil be able to move English Question Dansk Spørgsmål Svar/ Anser 1. Age Alder : 2. Have many houres do you use on flash a week Hvor mange timer bruge du på flash om ugen? : 3. Do you use action script Bruger du Actions script : Yes / Ja : No / Nej : 3a. If Yes, do you program your own code hvis ja Programmer du alle tingene selv? : Afleveret d. 12. Juni 2007 Page 41 of 56
42 4. Have You work whit 3d objekts in flash that is able to rotate in all direactions x,y,z Har du arbejde med 3d objekter i flash som er kan roters i alle aksler x,y,z : Yes / Ja : No / Nej : 4a. If Yes Do you think that it is hard to create Hvis ja syndes du det er for besværlig og svært? : 4b. if No whay not Hvis nej. Hvorfor ikke? : Will you be intrested in a simpel system that cut create 3d objekts in flash in code format so that you can rotate it in all directions x,y,z, whit the help of 3d studio max and others 3d programs Vil du være interesseret i et simpelt system som kan lave 3d objekter i flash i kode format så man kan roter den i all : aksler, x,y,z ved hjælp af 3d studio max og andre 3d programmer? This system will alsow have a bone Dette system vil indeholde et bone system, that will be able to move the system, som gør det muligt at flyte poins of a obejt afther a line, so that punkterne i et objekt efter en line, alså you can, move a leg on a figur, in at man kan flyte et ben på en figur, i the code in flash. Are this somthing selve koden, er det noget som du ville that you will be able to use... kunne bruge : 7. What things would you want to have in a system like this... Hvad vil du gerne have med i sådan et system? : Send Reset Internet spørgeskema resultat Svar 1 Svar 2 Svar 3 Svar 3a Svar 4 Svar 4 a/b Svar 5 Svar 6 Svar 7 bare man kan lave objekter så Jeg kan ikke lige komme på 1 20 ca 3 til 5 Nej nej ja er det fint noget Ja Some nej Do not have the Yes it will be no it has to be Afleveret d. 12. Juni 2007 Page 42 of 56
43 skille nice to use 3d easy objekt in my system ja not really nej because yes yes don't no ja Sometime nej never tried it not really No ladies?? women?? danish ones sound good ja ja nej viste ikke at man kunne det nej nej det ved jeg ikke ja ja det ved jeg ikke nej nej Ja, det ville det vel nok. ja Ikke noget særeligt nej nej nej nej Har ikke haft brug for det har ikke haft tid plus interesse Ikke umiddelbart ja måske, hvis det kan det man har brug for, og ikke bare er en sandkasse for småbørn Lyder da interessant Det ved jeg ikke ja ja ja Mjooo Ja Ja jeg synes ikke flash indtil videre har for det meste, kunnet behandle 3D ja, Ja ja nej grafik ordentligt ja, selvfølgeligt selvfølgeligt I think Ja Yes, nej timer ja ikke rigitg nej ja all the time ja yes a littel nej nej ja nogen gange nej ja sjælent nej Because I don't know enough about math and don't have CS3. Fordi jeg har problemer med at få tingende til at lytte sig har slet ikke egenskaber nok til det for hardkore for min smag No thank you, PaperVision3D works fine. No thank Måske lighting. Så man kan belyse sin modellen fra forskellige vinkler. Ved det ikke, den skal have de rigtige funktioner så den kan bruges Lyssætning og skygger, tyngdekraft, inertisystemer, bump map, gradienter, lens flare Overskuelig. det ved jeg ikke hvis det var let at forstå pas ved det ikke it will be nice, but i reather use my own code ja det kunne være total fedt at arbejde med hvis det kan gøres simpelt haha pas har ingen chancer for at forstå det. nej ikke rigtig nop yes har inge andelse men det kunne da væer en fed ting at have med ja selvfyldigt ligth and other things Det skal være meget forståeligt Afleveret d. 12. Juni 2007 Page 43 of 56
44 Samtale med flash eleverne i Skotland Jeg har oversat deres svar til dansk da jeg skrev det ned på dansk. Ross 1. Ja lidt jeg har brugt nogle billeder fra 3d max af til at vise nogle 3d figur med, men ikke det helt store, jeg synes det er lidt for besværligt a. Hehe jeg brugte det kun som stil billeder så der var ingen bevægelse over, dem men ja jeg brugt 3d max til at udvikle billederne med. 2. Jeg ved ikke om jeg synes der skal mere 3d ind på hjemmeside, men det kunne da være fedt hvis der kom noget mere, det ville give et helt nyt univers at være i. 3. ja helt klar, men jeg tror nu mere jeg vil bruge det til at lege med, og nok ikke så meget hjemmeside, men igen så ser man jo mere og mere 3d inde på hjemmesider efterhånden. Jeg vil nok sige at det mest anvendelige ting jeg ville kunne se er spil, eller hvis man skulle vise noget frem, f.eks. en mobil tlf. 4. jeg vil nok væge b fordi, man har mere kontrol over hvad for nogle informationer som man sætter ind i funktionen, og så tro jeg også man har mere kontrol over programmet. 5. Nok ikke mig da jeg ikke ville bruge det til noget seriøst men hvis jeg arbejde med et projekt hvor jeg skulle brug 3d kunne jeg nok godt finde på det 6. Det ved jeg ikke det tror jeg ikke, det vil man vel finde ud af hen af vejen når man bruger systemet Colin 1. Nop har aldrig prøvede a. Jeg laver nogle gang nogle billeder som jeg skære til og over før til flash men det er sjældent b. Jeg synes det er for besværligt 2. Helt klart, jeg synes det er sejt når man kan bevæge noget på en hjemmeside som er lavede i 3d, og synes der er god at det er begynd at komme noget mere frem på hjemmesider. 3d kan bruges til mange ting så som en knap som kan bevæge sig rundt om et objekt, eller bare et spil, hvor man kan se tingende i 3d.. 3. Jep uden tvivl, det kunne være sejt at programmere det selv, men jeg har ikke lige egenskaberne til det så jeg syndes det er en fed ide at lave et letter system, som man kan bruge. Afleveret d. 12. Juni 2007 Page 44 of 56
45 4. Jeg kan godt lide B fordi, så ved man hvor man hvad for en funktion som køre, og der ved kan man kontroller selve processen lidt mere. 5. Kun hvis jeg laver noget som jeg får penge for at lave ellers ikke 6. Jeg synes det kunne være fedt hvis man kunne lave en simple måde at få skygger fra objektet af.. Malcolm 1. Ja lige for tiden er jeg ved at lave en kasse som skal kunne interaktiv med selve linjerne så det ser ud som om den hopper rundt. a. Jeg kan få min boks til at roter 360 grader i hver retning så det funger meget godt, og nej jeg har ikke brugt 3d max til at lave det med 2. Det er lidt lige meget så længe man kan finde de informationer som man skal brug, og ja der er mange ting spil, fremviser, knapper, navigation 3. nej det tror jeg ikke, for jeg ville hellere selv koden den 4. jeg synes det er A fordi så har man alle informationer samlede på et sted i steder for at skulle delle det helle op, og mange forskellige funktioner 5. Nej aldrig i livet, jeg vil hellere selv arbejde med det og skabe nogle spændene ting. 6. pas Afleveret d. 12. Juni 2007 Page 45 of 56
46 18.2 Screenshot af test programmet. Afleveret d. 12. Juni 2007 Page 46 of 56
47 18.3 Programs kode class com.creator { // Skabe objekt funktioner //Den første funktion er min start funktion altså den som indlæser alle informationerne, og vider sender information til objektet public static function LoadObjekt(Files:String, Objektname:Number) { // Til at starte med skal vi være sikker på at der står noget i funktion altså om vi har en fil navn og objekt nummer, hvis ikke // Vil den komme med en fejl meddelse og ikke loadet filen ind. if (Files == undefined or Files == "") { trace("you have no enter the File name the function LoadObjekt(Files,"+Objektname+")"); _root["error"+objektname] = 1 else if (Objektname == undefined or Objektname == "") { trace("you have no enter the Objekts name the function LoadObjekt("+Files+",Objektname)"); _root["error"+objektname] = 1 else { // Først laver vi en loading variable, som hjælper os med at opbevare information og fortælle os hvordan det går med // Indlæsning. Her efter loader jeg information ind i variablen. var Info:LoadVars = new LoadVars(); Info.load(Files); // Denne funktion bliver kaldt når den er færdig med at indlæsse filen, og hvis filen eksister og den fil læst alt dataen // så bliver variablen success til sand (true) Info.onLoad = function(success:boolean) { if (success) { //Trace bliver brugt til at vise information i flash programmet, når man laver en hjemmeside. trace(" "); trace("loading Files "); trace("objekt nr :"+Objektname+" -- File Name :"+Files+""); trace(" "); // Her laver jeg en ny movieclip og vidergiver informationerne som vi lige har indlæst til den movieclip // parsefloat bliver brugt at at sørge for alt dataen kun er tal, hvis der er bogstaver i mellem blive de fjernet var Objekt:MovieClip = _root.createemptymovieclip("objekt"+objektname, Objektname); Objekt.Scale_x = Objekt.ResetScale_x=parseFloat(Info.scale_x); Objekt.Scale_y = Objekt.ResetScale_y=parseFloat(Info.scale_y); Objekt.Scale_z = Objekt.ResetScale_z=parseFloat(Info.scale_z); Objekt.StartX = parsefloat(info.startx); Objekt.StartY = parsefloat(info.starty); Objekt.StartZ = parsefloat(info.startz); Objekt.ScaleControle = parsefloat(info.scalecontrole); Objekt.xSpeed = parsefloat(info.xspeed); Objekt.ySpeed = parsefloat(info.yspeed); Objekt.Files = Files // Disse 2 variabler, er for at lave et test system som kan tjekke efter om alle filerne er blive loadet // ordenligt, før den forsætter Objekt.Done = false; Objekt.Lockdown = 0; // Her efter skaber vi vores Array som bliver brugt til at holde mange information i et akiv i stedet for bare en information // Dette gør det letter at gemme hver punks og Surfaces og fave informationer Objekt.Px = new Array(); Objekt.Pz = new Array(); Objekt.Py = new Array(); Objekt.ResetPx = new Array(); Objekt.ResetPz = new Array(); Objekt.ResetPy = new Array(); Objekt.Sx = new Array(); Objekt.Sy = new Array(); Objekt.Sz = new Array(); Objekt.Sp1 = new Array(); Objekt.Sp2 = new Array(); Objekt.Sp3 = new Array(); Objekt.SpCol = new Array(); // Her tjekker jeg efter om alle filerne er blive overfør rigtig nok, og om de er der, det gælder alle små data // som størelse kontrol og sca,e og postition og andet if (Objekt.Scale_x == undefined or Objekt.Scale_x == "" or isnan(objekt.scale_x)) { trace("loading Scale_x :"+ Objekt.Scale_x+ " --- Error"); else { trace("loading Scale_x Objekt.Lockdown += 1; :"+ Objekt.Scale_x+ " --- Done"); Afleveret d. 12. Juni 2007 Page 47 of 56
48 if (Objekt.Scale_y == undefined or Objekt.Scale_y == "" or isnan(objekt.scale_y)) { trace("loading Scale_y :"+ Objekt.Scale_y+ " --- Error"); else { trace("loading Scale_y Objekt.Lockdown += 1; :"+ Objekt.Scale_y+ " --- Done"); if (Objekt.Scale_z == undefined or Objekt.Scale_z == "" or isnan(objekt.scale_z)) { trace("loading Scale_z :"+ Objekt.Scale_z+ " --- Error"); else { trace("loading Scale_z :"+ Objekt.Scale_z+ " --- Done"); Objekt.Lockdown += 1; if (Objekt.StartX == undefined or Objekt.StartX == "" or isnan(objekt.startx)) { trace("loading StartX :"+ Objekt.StartX+ " --- Error"); else { trace("loading StartX Objekt.Lockdown += 1; :"+ Objekt.StartX+ " --- Done"); if (Objekt.StartY == undefined or Objekt.StartY == "" or isnan(objekt.starty)) { trace("loading StartY :"+ Objekt.StartY+ " --- Error"); else { trace("loading StartY Objekt.Lockdown += 1; :"+ Objekt.StartY+ " --- Done"); if (Objekt.StartZ == undefined or Objekt.StartZ == "" or isnan(objekt.startz)) { trace("loading StartZ :"+ Objekt.StartZ+ " --- Error"); else { trace("loading StartZ Objekt.Lockdown += 1; :"+ Objekt.StartZ+ " --- Done"); if (Objekt.ScaleControle == undefined or Objekt.ScaleControle == "" or isnan(objekt.scalecontrole)) { trace("loading ScaleControle :"+ Objekt.ScaleControle+ " --- Error"); else { trace("loading ScaleControle :"+ Objekt.ScaleControle+ " --- Done"); Objekt.Lockdown += 1; if (Objekt.xSpeed == undefined or Objekt.xSpeed == "" or isnan(objekt.xspeed)) { trace("loading xspeed :"+ Objekt.xSpeed+ " --- Error"); else { trace("loading xspeed :"+ Objekt.xSpeed+ " --- Done"); Objekt.Lockdown += 1; if (Objekt.ySpeed == undefined or Objekt.ySpeed == "" or isnan(objekt.yspeed)) { trace("loading yspeed :"+ Objekt.ySpeed+ " --- Error"); else { trace("") trace("loading yspeed Objekt.Lockdown += 1; :"+ Objekt.ySpeed+ " --- Done"); // For at vær sikker på at hjemmesiden ikke går kold har jeg valgt at tjekke efter om jeg har en tal værdi i points variablen // Hvis ikke der er noget eller et tal ville systemt går kold og ikke være i stand til at stoppe, så det er meget vigtigt at jeg har // et tal, så den stoppe med at tælle på af i vores for funktion Objekt.Points = parsefloat(info.points); trace("numbers of Points :"+(parsefloat(objekt.points)+1)); if (Objekt.Points!= undefined and Objekt.Points>0) { // Det er her det kan gå galt hvis ikke man har et tal i points, for det funktione gør er at den køre stykket igennem, indtil den rammer // Værdien points har og først der går den vider, denne funktion kan man ikke se, det sker rent internt. for (var i:number=0; i<=parsefloat(objekt.points); i++) { // Grunden til jeg gør det er for at indsætte punkt værdierne xyz ind i arrayen, så jeg kan bruge den sener Objekt.Px[i] = Objekt.ResetPx[i] = parsefloat(info["point"+i+"px"]); Objekt.Py[i] = Objekt.ResetPy[i] = parsefloat(info["point"+i+"py"]); Objekt.Pz[i] = Objekt.ResetPz[i] = parsefloat(info["point"+i+"pz"]); isnan(objekt.px[i]) or isnan(objekt.py[i])) { // For at være sikker på at sele informationen kan bruges sener hen tjekker jeg den under vejs, for at se om der er fejl i den // hvis der ikke er nogle fejl vil Lockdown sige med 1, og der vil komme en medelse om at den er indlæst korrekt if (Objekt.Px[i] == undefined or Objekt.Py[i] == undefined or Objekt.Pz[i] == undefined or isnan(objekt.pz[i]) or else { trace("loading Point "+i+" X:"+Objekt.Px[i]+",Y:"+Objekt.Py[i]+",Z:"+Objekt.Pz[i]+" --- Error"); Afleveret d. 12. Juni 2007 Page 48 of 56
49 trace("loading Point "+i+" X:"+Objekt.Px[i]+",Y:"+Objekt.Py[i]+",Z:"+Objekt.Pz[i]+" --- Done"); Objekt.Lockdown += 1; else { // Hvis der ikke er nogle point værdi sætter jeg den til 0 så der ikke skere flere fejl, det er ikke nød vendigt i, denne version men det kan hurtig // komme at man gerne vil have lidt mere kontrol over fejlene, så der for gør jeg det med det samme. og sætter fejl til null Objekt.Points = 0; trace("not able to read the variable or the variable is not a number. The variable is Points it can be founte in the file :"+Files); // Her gør jeg faktisk det samme som oven over, bare det er for surfaces, og hvordan de er forbundet til hinanden, og deres farver. Objekt.Surface = Info.Surface; if (Objekt.Surface!= undefined and Objekt.Surface>0) { trace("numbers of Surfaces :"+(parsefloat(objekt.surface)+1)); for (var i:number=0; i<=parsefloat(objekt.surface); i++) { Objekt.Sp1[i] = Info["cp"+i+"_1"]; Objekt.Sp2[i] = Info["cp"+i+"_2"]; Objekt.Sp3[i] = Info["cp"+i+"_3"]; Objekt.SpCol[i] = Info["cp"+i+"_Col"]; or Objekt.Sp1[i]<=-1 or Objekt.Sp2[i]<=-1 or Objekt.Sp3[i]<=-1) {,Colour:"+Objekt.SpCol[i]+" --- Error"); if (Objekt.SpCol[i] == undefined or Objekt.Sp1[i] == undefined or Objekt.Sp2[i] == undefined or Objekt.Sp3[i] == undefined trace("loading surface "+i+" Punkt 1:"+Objekt.Sp1[i]+", 2:"+Objekt.Sp2[i]+",3:"+Objekt.Sp3[i]+",Colour:"+Objekt.SpCol[i]+" --- Done"); else { trace("loading surface "+i+" Punkt 1:"+Objekt.Sp1[i]+", 2:"+Objekt.Sp2[i]+",3:"+Objekt.Sp3[i]+" Objekt.Lockdown += 1; else { trace("not able to read the variable or the variable is not a number. The variable is Surface it can be founte in the file :"+Files); Objekt.Surface = 0; Objekt.Surface>0 and Objekt.Points>0) { :"+(Math.round(Objekt.Surface)+1)+" Other :9)"); // Det er her jeg bruge lockdown informationerne som jeg har gemt mens jeg indsætte filerne, og jeg bruger dem // til at kontroler at alle tingene er blivede rigtig indlæst og der ikke er sket nogle fejl, f.eks. der er bogstaver // i en af variablerne, eller der bare ikke er nogle værdier, på den måde går helle siden ikke ned og det er muligt at finde // den fejl man har lavede. if (Objekt.Lockdown>=(Math.round(Objekt.Points)+Math.round(Objekt.Surface)+11) and Objekt.Surface!= undefined and Objekt.Points!= undefined and trace("succes"); trace("succesfuld Loadet Info: "+Objekt.Lockdown+" (Points :"+(Math.round(Objekt.Points)+1)+" Surface // For at være helt sikker på at figuren har de rigtige posistioner og scale, nulstiller jeg dem lige med // Disse to funktioner som ligger helt nede i bunden af denne file Resetpoint(Objektname); Resetscale(Objektname); else { // Sidst men ikke minst aktiver jeg filen, denne funktion kan bruges af kunden til at tjekke efter om alt er indlæst // før han forsætter. Objekt.Done = true; trace("faild to load file : "+Files); trace("some of the data was not loadet, pleas tjek the indformation above, to corekt the error in the file :"+Files+")"); trace("succesfuld Loadet Info: "+Objekt.Lockdown); trace("error loadet info :"+((Math.round(Objekt.Points)+1)+(Math.round(Objekt.Surface)+1)+9-Objekt.Lockdown)); // Dette vil sørge for at man ikke kan forsætte uden vider, og at funktionerne stopper her. Objekt.Done = false; Afleveret d. 12. Juni 2007 Page 49 of 56
50 else { _root["error"+objektname] = 1 trace("cant finde file or sever is down file namede : "+Files); // Denne funktion bruges til at rendere siden objekterne med, public static function Rendere(Objektname:Number):Void { // Jeg starter med at lave en variable som er position af mit objekt, på den måde skal jeg bare skrive variablens navn // for at finde informatioen. var Objekt = _root["objekt"+objektname]; // Her tester jeg efter om objektetet er blive indlæst korrekt if (Objekt.Done == true) { if(objekt.render!= 1){ trace("runing rendering for objekt nr. :"+Objektname+" -- problems tjek the file named :" +Objekt.Files); Objekt.Render = 1; // Her udregmer jeg hastigheden som en skal dreje i x og y akslen. Objekt.angleY = Objekt.ySpeed/1000; Objekt.cosY = Math.cos(Objekt.angleY); Objekt.sinY = Math.sin(Objekt.angleY); Objekt.angleX = Objekt.xSpeed/1000; Objekt.cosX = Math.cos(Objekt.angleX); Objekt.sinX = Math.sin(Objekt.angleX); // Her efter skal jeg udregne punktets position i forhold, i forhold til dens vinkel, det jeg gør er at køre alle punkterne // igenne og udregne dem en for en, op på den måde kommer det til at se ud som om det er en 3d figur. for (var i:number = 0; i<parsefloat(objekt.points)+1; i++) { // Her udregner jeg punkterne position, alt efter hvad vinkel jeg har valgt, det vil sige hvad min angley er lig med // Grunden til at den forsætter er fordie, hver gang et punkt er blivede fundet gemmer den information det samme sted som den // tog den, og på den måde vil den rygge sig frem af lige så stille. Objekt.x1 = Objekt.Px[i] * Objekt.cosY - Objekt.Pz[i] * Objekt.sinY; Objekt.z1 = Objekt.Pz[i] * Objekt.cosY + Objekt.Px[i] * Objekt.sinY; Objekt.y1 = Objekt.Py[i] * Objekt.cosX - Objekt.z1 * Objekt.sinX; Objekt.z2 = Objekt.z1 * Objekt.cosX + Objekt.Py[i] * Objekt.sinX; // Jeg blive nød til at gøre så den først da informationerne vile blive blandet og ikke pase med den position som den // er blivede regnede med i de øverste udregneringer, med andre ord, den vil tro at den er en takt vider end den enlig er, // og give fejl beregninger. Objekt.Px[i] = Objekt.x1 Objekt.Py[i] = Objekt.y1 Objekt.Pz[i] = Objekt.z2 // Her efter indsætter jeg scalen, som finder ud af hvor meget u dybten punktet er lige nu, og for minsker den eller forstør den // Alt efter hvor på z punktet den ligger. Objekt.Sz[i]= Objekt.scale = Objekt.ScaleControle/(Objekt.ScaleControle+Objekt.Pz[i]+Objekt.StartZ); // Til sidst lægger vi vores start position til for at få den rigtig position på skærmen, jeg har ikke tage z med fordi den allerede er blivede regnet med i scalen // da vi enlig ikke har en z kortination da det bare er scala forhold, som får det til at se sådan ud Objekt.Sx[i] = Objekt.StartX+Objekt.Px[i]*Objekt.scale; Objekt.Sy[i] = Objekt.StartY+Objekt.Py[i]*Objekt.scale; // Her unstiller vi alt vores grafiske udsende, og det gør vi for eller vil den bare lave en ny firkant oven i den gamle // Nu skal man tænke på det bare er tegninger som den laver helle tiden, og hvis man smider alle sine tegninger sammen kan man ikke se // hvad den første liner Objekt.clear(); // Her køre jeg gennem hver overflade og det gør jeg med en funktion da det er muligt at stoppe funktioen hvis fladen ikke kan ses. for (var i:number = 0; i<parsefloat(objekt.surface)+1; i++) { rendersurfaces(objekt.sp1[i], Objekt.Sp2[i], Objekt.Sp3[i], Objekt.SpCol[i]); // Her laver jeg surfacesne for at kunne kontroler om de kan ses function rendersurfaces(sp1:object, Sp2:Object, Sp3:Object, SpCol:Object):Void { Afleveret d. 12. Juni 2007 Page 50 of 56
51 // og det lyder dumt men her bruger jeg en funktion mere, denne funktion er kun sand og falsk, hvis den er sand vil den // afbrude funktionen og gå til bage til vores for verdi som vil starten den igen, hvis ikke, så vil den lave fladen if (Controlview(Objekt.Sx[Sp1], Objekt.Sx[Sp2], Objekt.Sx[Sp3], Objekt.Sy[Sp1], Objekt.Sy[Sp2], Objekt.Sy[Sp3])) { return; // Selve fladen er blevet lavede ved hjælp at denne funktion som simpelt hen tegner en trekant fra punkt til punkt // Det første er til at begynde med, den spørg efer hvad farve den skal være og om den skal være gennemsigtig. // Denne funktion er noget som er indbygget i flash. Objekt.beginFill(SpCol, 100); // vores Sx er vores punkter og vores sp1 er hvad for nogle punkter der skal forbindes til havd for nogle ting. // det vil sige at vores sp1 er et tal, altså hvad punktet hedder og så går den ind og tjekker i arrayen og der er et punkt // under det nummer og så indsætter den værdien Objekt.moveTo(Objekt.Sx[Sp1], Objekt.Sy[Sp1]); Objekt.lineTo(Objekt.Sx[Sp2], Objekt.Sy[Sp2]); Objekt.lineTo(Objekt.Sx[Sp3], Objekt.Sy[Sp3]); Objekt.lineTo(Objekt.Sx[Sp1], Objekt.Sy[Sp1]); Objekt.endFill(); // Her tjeker jeg efter om fladen er ud mod mig eller om den sider omme bag i og ikke skal ses, hvis den sider omme bag i vil det være sandt og den vil // gå tilbage og sige det er sandt og hvis ikke så er det falsk og vil stadig gå tilbage. function Controlview(pointAx:Object, pointbx:object, pointcx:object, pointay:object, pointby:object, pointcy:object):boolean { Objekt.cax = pointcx-pointax; Objekt.cay = pointcy-pointay; Objekt.bcx = pointbx-pointcx; Objekt.bcy = pointby-pointcy; return Objekt.cax*Objekt.bcy>Objekt.cay*Objekt.bcx; // Hjælpe funktioner // De næste mange funktioner er bare til at hjælpe brugeren og er meget ens, det vil sige at de alle sammen har et if system // som tjekker efter om hvad funktion den skal gøre, her i rotation, er funktioner hvad for en vej den skal dreje og om det skal // læges til eller om det er en bestem værdi den skal køre efter public static function Roter(Objektname:Number, Func:String, Value:Number) { var Objekt = _root["objekt"+objektname]; if(value == undefined or Value == ""){ trace("the Objekt nr :"+Objektname+" -- Roter Error The is no value pleas wrigth Roter("+Objektname+","+Func+",Value:Number)"); else if (Objekt.Done == true) { if (Func == "Roter_x") { Objekt.xSpeed = Value; trace("objekt nr :"+Objektname+" -- Roter Speed x Set to:"+value); else if (Func == "Roter_y") { Objekt.ySpeed = Value; trace("objekt nr :"+Objektname+" -- Roter Speed y Set to:"+value); else if (Func == "Roter_x_add") { Objekt.xSpeed += Value; trace("objekt nr :"+Objektname+" -- Roter Speed x increase by:"+value+" Total x: "+Objekt.xSpeed); else if (Func == "Roter_y_add") { Objekt.ySpeed += Value; trace("objekt nr :"+Objektname+" -- Roter Speed y increase by:"+value+" Total y: "+Objekt.ySpeed); else { trace("the Objekt nr :"+Objektname+" -- Roter Error There is no funktion whit the name "+Func+" the funktion you can use is :"); trace("roter x : Roter_x"); trace("roter x increase : Roter_x_add"); trace("roter y : Roter_y"); trace("roter y increase : Roter_y_add"); else { trace("the Objekt nr :"+Objektname+" -- Roter Error There is no objekt whit that number"); Afleveret d. 12. Juni 2007 Page 51 of 56
52 // Den her laver om på scalaen, så den bliver støre eller mindre i x,y,z akslen public static function Scale(Objektname:Number, Func:String, Value:Number) { var Objekt = _root["objekt"+objektname]; if(value == undefined or Value == ""){ trace("the Objekt nr :"+Objektname+" -- Scale Error The is no value pleas wrigth Scale("+Objektname+","+Func+",Value:Number)"); else if (Objekt.Done == true) { else { if (Func == "Scale_x") { Objekt.Scale_x = Value; trace("objekt nr :"+Objektname+" -- Scale x to :"+Value); else if (Func == "Scale_y") { Objekt.Scale_y = Value; trace("objekt nr :"+Objektname+" -- Scale y to :"+Value); else if (Func == "Scale_z") { Objekt.Scale_z = Value; trace("objekt nr :"+Objektname+" -- Scale z to :"+Value); else if (Func == "Scale_all") { Objekt.Scale_x = Value; Objekt.Scale_y = Value; Objekt.Scale_z = Value; trace("objekt nr :"+Objektname+" -- Scale all to :"+Value); else if (Func == "Scale_x_add") { Objekt.Scale_x += Value; trace("objekt nr :"+Objektname+" -- Scale x increase by :"+Value+" Total x: "+Objekt.Scale_x); else if (Func == "Scale_y_add") { Objekt.Scale_y += Value; trace("objekt nr :"+Objektname+" -- Scale y increase by :"+Value+" Total y: "+Objekt.Scale_y); else if (Func == "Scale_z_add") { Objekt.Scale_z += Value; trace("objekt nr :"+Objektname+" -- Scale z increase by :"+Value+" Total z: "+Objekt.Scale_z); else if (Func == "Scale_all_add") { Objekt.Scale_x += Value; Objekt.Scale_y += Value; Objekt.Scale_z += Value; trace("objekt nr :"+Objektname+" -- Scale all increase by :"+Value+" Total x: "+Objekt.Scale_x+" y: "+Objekt.Scale_y+" z: "+Objekt.Scale_z); else { trace("the Objekt nr :"+Objektname+" -- Scale Error There is no funktion whit the name "+Func+" the funktion you can use is :"); trace("scale x : Scale_x"); trace("scale y : Scale_y"); trace("scale z : Scale_z"); trace("scale all : Scale_all"); trace("scale x increase : Scale_x_add"); trace("scale y increase : Scale_y_add"); trace("scale z increase : Scale_z_add"); trace("scale all increase : Scale_all_add"); Resetpoint(Objektname); trace("the Objekt nr :"+Objektname+" -- Scale Error There is no objekt whit that number"); Afleveret d. 12. Juni 2007 Page 52 of 56
53 // Den her bruges til at flytte punkterne med i x,y,z akslen i forhold til objektet public static function MovePoint(Objektname:Number, Func:String, Points:Object, Value:Number) { var Objekt = _root["objekt"+objektname]; if(value == undefined or Value == ""){ trace("the Objekt nr :"+Objektname+" -- Move Point Error The is no value pleas wrigth MovePoint("+Objektname+","+Func+",Value:Number)"); else if (Objekt.Done == true) { else { if (Func == "Move_x") { Objekt.ResetPx[Points] = Value; trace("objekt nr :"+Objektname+" -- Move Point "+Points+" x Position to:"+value); else if (Func == "Move_y") { Objekt.ResetPy[Points] = Value; trace("objekt nr :"+Objektname+" -- Move Point "+Points+" y Position to:"+value); else if (Func == "Move_z") { Objekt.ResetPz[Points] = Value; trace("objekt nr :"+Objektname+" -- Move Point "+Points+" z Position to:"+value); else if (Func == "Move_x_add") { Objekt.ResetPx[Points] += Value; trace("objekt nr :"+Objektname+" -- Move Point "+Points+" x Position increase by:"+value+" Total x: "+Objekt.Px[Points]); else if (Func == "Move_y_add") { Objekt.ResetPy[Points] += Value; trace("objekt nr :"+Objektname+" -- Move Point "+Points+" y Position increase by:"+value+" Total y: "+Objekt.Py[Points]); else if (Func == "Move_z_add") { Objekt.ResetPz[Points] += Value; trace("objekt nr :"+Objektname+" -- Move Point "+Points+" z Position increase by:"+value+" Total z: "+Objekt.Pz[Points]); else { trace("the Objekt nr :"+Objektname+" -- Move Point Error There is no funktion whit the name "+Func+" the funktion you can use is :"); trace("move x : Move_x"); trace("move y : Move_y"); trace("move z : Move_z"); trace("move x increase : Move_x_add"); trace("move y increase : Move_y_add"); trace("move z increase : Move_z_add"); Resetpoint(Objektname); trace("the Objekt nr :"+Objektname+" -- Move Error There is no objekt whit that number"); // Bruges til at flytte positionen med, i x,y,z public static function Position(Objektname:Number, Func:String, Value:Number) { var Objekt = _root["objekt"+objektname]; if(value == undefined or Value == ""){ trace("the Objekt nr :"+Objektname+" -- Position Error The is no value pleas wrigth Position("+Objektname+","+Func+",Value:Number)"); else if (Objekt.Done == true) { if (Func == "Pos_x") { Objekt.StartX = Value; Afleveret d. 12. Juni 2007 Page 53 of 56
54 else if (Func == "Pos_y") { trace("objekt nr :"+Objektname+" -- Objekt position x to :"+Value); Objekt.StartY = Value; trace("objekt nr :"+Objektname+" -- Objekt position y to :"+Value); else if (Func == "Pos_z") { Objekt.StartZ = Value; trace("objekt nr :"+Objektname+" -- Objekt position z to :"+Value); else if (Func == "Pos_x_add") { Objekt.StartX += Value; trace("objekt nr :"+Objektname+" -- Objekt position x increase by :"+Value+" Total : "+Objekt.StartX); else if (Func == "Pos_y_add") { Objekt.StartY += Value; trace("objekt nr :"+Objektname+" -- Objekt position y increase by :"+Value+" Total : "+Objekt.StartY); else if (Func == "Pos_z_add") { Objekt.StartZ += Value; trace("objekt nr :"+Objektname+" -- Objekt position z increase by :"+Value+" Total : "+Objekt.StartZ); else { trace("the Objekt nr :"+Objektname+" -- Position Error There is no funktion whit the name "+Func+" the funktion you can use is :"); trace("pos x : Pos_x"); trace("pos y : Pos_y"); trace("pos z : Pos_z"); trace("pos x increase : Pos_x_add"); trace("pos y increase : Pos_y_add"); trace("pos z increase : Pos_z_add"); else { trace("the Objekt nr :"+Objektname+" -- Position Error There is no objekt whit that number"); // Reset funktioner // Her går jeg simpel hen ind og genlæser filen, ved at bruge funktion som er i toppen af denen file som også hedder Loadobjekt // på den her måde kan man altid resette funktioen til filens rigtig opsætninger public static function ResetFromFile(Objektname:Number) { var Objekt = _root["objekt"+objektname]; if(objekt.done == true){ LoadObjekt(Objekt.Files,Objektname) // Den her reset nulstiller alt undtagen de redigeres punkter, altså hvis man har flyttet med dem, med andre ord er det // kun scale objekt position og rotation som bliver nulstilt public static function Reset(Objektname:Number) { var Objekt = _root["objekt"+objektname]; if (Objekt.Done == true) { Objekt.xSpeed = 0; Objekt.ySpeed = 0; //Her bruger jeg også de to funktioner som reset scalaen og punkternes position som de er bleve redigeret til. Resetscale(Objektname); Resetpoint(Objektname); trace("the Objekt nr :"+Objektname+" -- Has been reset"); else { trace("the Objekt nr :"+Objektname+" -- Reset Error There is no objekt whit that number"); Afleveret d. 12. Juni 2007 Page 54 of 56
55 // Det jeg går ind og gør her er at sætte værdierne til sikkerhed kopien altså de orginale indlæste filer, men fordi man skulle kunne rediger punkterner // Er der også blevede redigeret public static function Resetpoint(Objektname:Number) { var Objekt = _root["objekt"+objektname]; for (var i:number = 0; i<=parsefloat(objekt.points); i++) { Objekt.Px[i] = parsefloat(objekt.resetpx[i])*objekt.scale_x/100; Objekt.Py[i] = parsefloat(objekt.resetpy[i])*objekt.scale_y/100; Objekt.Pz[i] = parsefloat(objekt.resetpz[i])*objekt.scale_z/100; // Den her tager også de reseve tal som ligger i objektet og nulstiller efter dem. public static function Resetscale(Objektname:Number) { var Objekt = _root["objekt"+objektname]; Objekt.Scale_x = Objekt.ResetScale_x; Objekt.Scale_y = Objekt.ResetScale_y; Objekt.Scale_z = Objekt.ResetScale_z; // Information funktioner // Jeg har lavede en læsse funktion så man altid kan få information om hvor hvad og hvordan punkterne ligger for hinaden // en af grunden til det er for at man selv skal være i stand til at kunne rediger dem automatisk og lege med systemt efter eget behov public static function Info(Objektname:Number, Func:String, Text:TextField, Points:Number) { var Objekt = _root["objekt"+objektname]; if (Func == "xspeed") { Text.text = Objekt.xSpeed; else if (Func == "yspeed") { Text.text = Objekt.ySpeed; else if (Func == "Scale_all") { Text.text = "x:"+objekt.scale_x+" y:"+objekt.scale_y+" z:"+objekt.scale_z; else if (Func == "Scale_x") { Text.text = Objekt.Scale_x; else if (Func == "Scale_y") { Text.text = Objekt.Scale_y; else if (Func == "Scale_z") { Text.text = Objekt.Scale_z; else if (Func == "Pos_x") { Text.text = Objekt.StartX; else if (Func == "Pos_y") { Text.text = Objekt.StartY; else if (Func == "Pos_z") { Text.text = Objekt.StartZ; else if (Func == "Move_x") { Text.text = Objekt.ResetPx[Points]; else if (Func == "Move_y") { Text.text = Objekt.ResetPy[Points]; else if (Func == "Move_z") { Text.text = Objekt.ResetPz[Points]; else { trace("the Objekt nr :"+Objektname+" -- Info Error There is no funktion whit the name "+Func+" the funktion you can use is :"); trace("speed x : xspeed"); trace("speed y : yspeed"); trace("scale x : Scale_x"); trace("speed y : Scale_y"); trace("speed z : Scale_z"); trace("scale All : Scale_all"); trace("pos x : Pos_x"); trace("pos y : Pos_y"); trace("pos z : Pos_z"); trace("move x : Move_x"); trace("move y : Move_y"); trace("move z : Move_z"); Afleveret d. 12. Juni 2007 Page 55 of 56
56 // Denne funktion er til at kunne bruge i systemet, altså til at udregne andre ting med, den er anderlede fra den over over // da den ikke skrive til text felt men direkte til positionen hvor funktionen er public static function InfoUse(Objektname:Number, Func:String, Points:Number):Number { var Objekt = _root["objekt"+objektname]; if (Func == "xspeed") { return Objekt.xSpeed; else if (Func == "yspeed") { return Objekt.ySpeed; else if (Func == "Scale_x") { return Objekt.Scale_x; else if (Func == "Scale_y") { return Objekt.Scale_y; else if (Func == "Scale_z") { return Objekt.Scale_z; else if (Func == "Pos_x") { return Objekt.StartX; else if (Func == "Pos_y") { return Objekt.StartY; else if (Func == "Pos_z") { return Objekt.StartZ; else if (Func == "Move_x") { return Objekt.Sx[Points]; else if (Func == "Move_y") { return Objekt.Sy[Points]; else if (Func == "Move_z") { return Objekt.Sz[Points]; else { trace("the Objekt nr :"+Objektname+" -- InfoUse Error There is no funktion whit the name "+Func+" the funktion you can use is :"); trace("speed x : xspeed"); trace("speed y : yspeed"); trace("scale x : Scale_x"); trace("speed y : Scale_y"); trace("speed z : Scale_z"); trace("pos x : Pos_x"); trace("pos y : Pos_y"); trace("pos z : Pos_z"); trace("move x : Move_x"); trace("move y : Move_y"); trace("move z : Move_z"); // End // Der er mange ting som man kan upgrader dette system med, og det er let for alt køre fra denne fil af // det vil sige at man bare skal lave nye funktioner her inde for at kunne bruge dem. // Fordi det helle har samme opbygning er det kun objekt nummeret man skal bruge for at kunne modifiser // den efter egne ønsker. planen var at der også skulle være bone system her inde men fordi den ikke // Virker fjerne jeg den da den lave kuk i det andet system. // End Afleveret d. 12. Juni 2007 Page 56 of 56
Specialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6
Side 1 af 6 Indholdsfortegnelse INDHOLDSFORTEGNELSE 1 INTRO 3 STARTEN AF SPECIALISERINGEN 3 ANKOMST TIL SKOTLAND 4 DATABASER 5 NETVÆRK 5 INTERAKTION 5 AFSLUTNING AF SPECIALISERINGEN 5 KONKLUSION 6 Side
Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge:
Side 1 af 5 Ide med Diff. Min ide med differenertierings modulet er at lave et program som kan vise 3d objekter, og få lavede en konverter som kan konventer 3ds filer over til noget som flash kan bruge.
Spil Rapport. Spil lavet i GameMaker. Kevin, Mads og Thor 03-02-2011
Spil Rapport Spil lavet i GameMaker Kevin, Mads og Thor 03-02-2011 Indholdsfortegnelse Indledning... 2 HCI... 2 Planlægning / Elementær systemudvikling... 2 Kravspecifikationer... 4 Spil beskrivelse...
Cykelhandler projekt KOM / IT
2015 Cykelhandler projekt KOM / IT Indhold Indledning... 2 Tidsplan... 2 Fase 1 - Problemanalyse... 3 Informations problem... 3 Markedsundersøgelse... 3 Analyse af deres eksisterende medieprodukter...
Klasse 1.4 Michael Jokil 03-05-2010
HTX I ROSKILDE Afsluttende opgave Kommunikation og IT Klasse 1.4 Michael Jokil 03-05-2010 Indholdsfortegnelse Indledning... 3 Formål... 3 Planlægning... 4 Kommunikationsplan... 4 Kanylemodellen... 4 Teknisk
Hvorfor skal vi bruge objekt orienteret databaser?
OODBMS Vs. RDBMS 1 Indholdsfortegnelse Hvorfor skal vi bruge objekt orienteret databaser?... 3 OODBMS i erhvervslivet... 4 Bagsiden af medaljen... 5 OODBMS i praksis... 6 Konklusion... 8 2 Hvorfor skal
Afsluttende opgave. Navn: Lykke Laura Hansen. Klasse: 1.2. Skole: Roskilde Tekniske Gymnasium. Fag: Kommunikation/IT
Afsluttende opgave Navn: Lykke Laura Hansen Klasse: 1.2 Skole: Roskilde Tekniske Gymnasium Fag: Kommunikation/IT Opgave: Nr. 2: Undervisningsmateriale Afleveres: den 30. april 2010 Indholdsfortegnelse
Konkurrencer NONSTOP. Motivation & problemfelt
Konkurrencer NONSTOP Nye konkurrencer Hver dag Motivation & problemfelt Dette er et oplæg til den mundtlige eksamen i Innovation & Markedsføring. I det følgende vil jeg beskrive forretningsplanen for Konkurrencer
Trin for trin guide til Google Analytics
Trin for trin guide til Google Analytics Introduktion #1 Opret bruger #2 Link Google Analytics til din side #3 Opret konto #4 Udfyld informationer #5 Gem sporings id #6 Download WordPress plugin #7 Vent
Giv mig 5 minutter til at forklare...
Daniel Brandt Introduktion Introduktion til online marketing er alt, hvad du foretager dig på internettet med din forretning. Din hjemmeside er typisk der, dine salg kommer fra, derfor skal den være overskuelig
[AFSLUTTENDE OPGAVE I KOM/IT]
2010 Pernille Ketscher & Kasper Lassen [AFSLUTTENDE OPGAVE I KOM/IT] Indhold Skema over fordeling af opgaver.... 3 Kommunikationsplan.... 4 Overvejelser for kommunikationsplanen.... 5 Overvejelserne for
Creativity Design Undersøgelse Case 1: Auction Travels INDEX 1 WORK BREAKDOWN STRUCTURE (WBS) 2 RISIKOANALYSE 3 INTERESSENTANALYSE 4 BRUGERPROFILER 4
Index INDEX 1 WORK BREAKDOWN STRUCTURE (WBS) 2 PROJECT KEY PURPOSE STATEMENT 2 DELIVERABLES STATEMENT 2 ACTIVITIES FOR EACH DELIVERABLES 2 UNDERSØGELSE: 2 RISIKOANALYSE 3 PLAN B 3 FOR TYNDT KONCEPT ERROR!
App til museeum Af Alan Mohedeen 3.5
2012 App til museeum Af Alan Mohedeen 3.5 Mohedeen 4/15/2012 Inholdsfortegnelse Indledning... 2 Indledende problemanalyse... 2 Projekt- og produktmål... 2 Bollemodel... 3 Kravspecifikation... 4 Løsningsforslag...
15-11-2013 TANDLÆGE KAMPAGNE. Marc Sztuk, Simon Drabsch og Marcus Rasmussen
15-11-2013 TANDLÆGE KAMPAGNE Marc Sztuk, Simon Drabsch og Marcus Rasmussen Forord Vi har tilmeldt os konkurrencen fra Tandlægeforeningen, om at lave en kampagne for at få flere unge til at tage til tandlæge.
Grafisk workflow. bl.udbudsnet.dk
Grafisk workflow. bl.udbudsnet.dk Hvad går opgaven ud på? Opgaven gik ud på at lavet et præsentations website for Udbudsnet. Hjemmesiden skulle bruges til at sælge Udbudsnet, på en messe som hedder BL.
Programmering 19/03-2012 ROSKILDE TEKNISKE GYMNASIUM. Projektbeskrivelse. Programmering. Rasmus Kibsgaard Riehn-Kristensen
ROSKILDE TEKNISKE GYMNASIUM Projektbeskrivelse Programmering Rasmus Kibsgaard Riehn-Kristensen 19-03-2012 Indholdsfortegnelse 1. Indledning... 3 2. Problemobservation.... 4 2.1 Egen erfaring... 4 3. Problemformulering...
Afsluttende Projekt - Kom/IT
1 Afsluttende Projekt - Kom/IT Rasmus H. Plaep 1 Billedkilde: http://blog.snelling.com/files/2015/01/business-107.jpg Indhold... 0 Indledning... 2 Problemafgrænsning... 2 Problemformulering... 2 Teori...
Det er svært at komme på ældste trin. Der er mange helt nye ord, fx provokation og oplevelsesfase.
Overgang fra mellemtrin til ældste trin samtale med 6. kl. Det er svært at komme på ældste trin. Der er mange helt nye ord, fx provokation og oplevelsesfase. Det er en meget anderledes arbejdsform, men
Kort sagt: succes med netdating.
Indledning I denne e- bog får du en guide til, hvordan du knækker netdating koden! Du finder alt hvad du skal bruge, for at komme igang med at møde søde piger på nettet. Få f.eks. besvaret følgende spørgsmål:
Forebyggelse af ludomani blandt 6-10. klassetrin.
Forebyggelse af ludomani blandt 6-10. klassetrin. Overskrift: Præsentation af undervisningsmateriale. Til læreren. Vi ved, at en betydelig del af eleverne, som går i 7-10 kl. på et eller andet tidspunkt
1. Indledning. 2. Laswell s fem spørgsmål. Hvem (afsender) Siger hvad (budskab)
Indholdsfortegnelse 1. Indledning... 2 2. Laswell s fem spørgsmål... 2 Hvem (afsender)... 2 Siger hvad (budskab)... 2 I Hvilken Kanal (Mediet)... 3 Til Hvem (Modtageren)... 3 Og Med Hvilken Effekt (Virkningen)...
TIPS TIL SAMARBEJDET OM SAMTALEGUIDEN
Samtaleguiden 36 Samtaleguiden er lavet primært til unge, der ryger hash. Som vejleder, mentor m.fl. kan du bruge Samtaleguiden som et fælles udgangspunkt i samtalen med den unge. Du kan dog også blot
Konflikthåndtering mødepakke
Indledning af historie Trin 1 Her er Louise. For et halvt år n købte hun en mobiltelefon til 2500 kr. hos jer, men nu er bagcoveret i stykker, og hun er kommet for at bytte den. Her er Kasper. Han er lidt
Computer spil Kom it Roskilde teknisk gymnasium. Rasmus Kibsgaard Riehn-Kristensen, Michael Jokil og Christine Johnsen
Computer spil Kom it Roskilde teknisk gymnasium Rasmus Kibsgaard Riehn-Kristensen, Michael Jokil og Christine Johnsen Vejleder Karl G Bjarnason 12-03-2010 Indhold Kanylemodel... 3 1.1Afsender... 3 1.2Indkodning...
Oliver Marco van Komen Afsluttende opgave 02-05-2014. Kost ved slidgigt. Case 2. Personlig fysisk hjælp
Kost ved slidgigt Case 2. Personlig fysisk hjælp Problemobservering Sygdommen slidgigt også kaldes artrose er den mest udbredte led sygdom overhovedet, det kan medføre voldsomme smerter. Sygdommen påvirker
Alternativ markedsføring
Alternativ markedsføring Kom/IT Projekt HTX Roskilde Joachim K. Bodholdt 05-05-2009 Indholdsfortegnelse Alternativ markedsføring online.... 3 Projekt beskrivelse:... 3 Case: Projekt 'Mørk & Juhl'... 4
FACEBOOK MARKETING. Simple teknikker der kan booste virksomhedens salg og omsætning via Facebook.
FACEBOOK MARKETING Simple teknikker der kan booste virksomhedens salg og omsætning via Facebook. Hvorfor skal jeg bruge Facebook Marketing? Mange virksomheder spørger sig selv dette spørgsmål. Men de skal
Kirke for børn og unge afslutningsgudstjeneste for minikonfirmander og deres familier 22.06.14 kl. 17.00
1 Kirke for børn og unge afslutningsgudstjeneste for minikonfirmander og deres familier 22.06.14 kl. 17.00 Præludium 290 I al sin glans 46 Sorrig og glæde 70 Du kom til vor runde jord 42 I underværkers
S: Mest for min egen. Jeg går i hvert fald i skole for min egen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Notater fra pilotinterview med Sofus 8. Klasse Introduktion af Eva.
IT Sikkerhed. Digital Mobning.
IT Sikkerhed. Nu i dag hvor vores computer næsten er tilkoplet hinanden 24/7 er det vigtigt at kunne beskytte sin compuder / server mod spyware, virus, spam og skam. Til det er vi gået i gang med at arbejde
Dokumentation til Computerspil
Dokumentation til Computerspil Medias Lab Systemudviklingsmodel Problemstilling Vores problemstilling er at vi skal producere et simpelt computerspil, vi skal igennem hele processen dokumentere vores arbejde.
KOM/IT KAMPAGNE PROJEKT
KOM/IT KAMPAGNE PROJEKT 18-2-2011 Isabel Marie Elisabeth Odder & Jeanette Bengtsen klasse 3.5k Indhold Forundersøgelse... 2 Bollemodel... 2 Afsender... 6 Case... 6 Værktøjer... 7 Valg af medie... 7 Logoet...
GRAFISK DESIGN. Proces. Ideudvikling. »Jeg er blevet bedt om at udvikle nogle ideer til at udvikle John Frandsens nuværende annoncesider«
P f t r o o i l o 1 H GRAFISK DESIGN»Jeg er blevet bedt om at udvikle nogle ideer til at udvikle John Frandsens nuværende annoncesider«proces For at udvikle annoncen måtte jeg først klarlægge, hvad der
PERSONLIG SALGSTRÆNING En anderledes uddannelse til ledige, der tager udgangspunkt i den enkelte. Dag 5 af 6; 08:30 15:30
PERSONLIG SALGSTRÆNING En anderledes uddannelse til ledige, der tager udgangspunkt i den enkelte. Dag 5 af 6; 08:30 15:30 DAGENS PROGRAM 08:30 09:30 Opsamling 09:30 09:45 Pause 09:45 10:45 Brik Å Teori:
HG - KONTOR ELEVENS MAPPE UDARBEJDET AF MICHAEL JENSEN & STINE B. HANSEN ELEVENS NAVN: VIRKSOMHEDENS NAVN:
2014 HG - KONTOR ELEVENS MAPPE UDARBEJDET AF MICHAEL JENSEN & STINE B. HANSEN ELEVENS NAVN: VIRKSOMHEDENS NAVN: Indholdsfortegnelse Jobansøgning... 2 Evaluering - Jobsøgning... 3 Virksomheden... 4 Evaluering
Hjælp dit barn med at lære
Lidt om dit barns sprog når det er 6 måneder Dit barn viser hvad det føler og gerne vil ved at bruge lyde, ansigtsudtryk og bevægelser. Nogle børn begynder at sige lyde, der ligner ord, som da og ma Dit
Projekt Reklamefilm Kom/IT. 18-03-2014 2.y, HTX, EUC Syd Sønderborg Sahra M. Andersen
Projekt Reklamefilm Kom/IT 18-03-2014 2.y, HTX, EUC Syd Sønderborg Sahra M. Andersen Projektbeskrivelse Projektet går ud på at der skal udarbejdes en reklamefilm, der reklamere for en virksomhed/institution/produkt,
BARE EN VANDREHISTORIE 8.b, Skovlyskolen 3. gennemskrivning, maj 2010
BARE EN VANDREHISTORIE 8.b, Skovlyskolen 3. gennemskrivning, maj 2010 Side1af10 BARE EN VANDREHISTORIE 1. EXT. SKOV. DAG KATHRINE(14) går hjem fra skole i skoven. Hun har cowboybukser, sorte Converse og
Bilag 6: Transskription af interview med Laura
Bilag 6: Transskription af interview med Laura Interviewet indledes med, at der oplyses om, hvad projektet handler om i grove træk, anonymitet, at Laura til enhver tid kan sige, hvis der er spørgsmål,
It-sikkerhed Kommunikation&IT
It-sikkerhed Kommunikation&IT Dette projekt handler om IT-sikkerhed. Gruppen har derfor valgt at have om Facebook, hvor vi vil hjælpe folk med at færdes rigtigt på nettet. Dette vil gøre ved hjælp af at
Rapport på Kommunikation IT projekt
Rapport på Kommunikation IT projekt Dato: 06.05.2011 Skrevet af Martin Jensen Fag: Kommunikation IT Vejleder: Bartlomiej Rohard Warszawski Skole: Roskilde Tekniske Gymnasium Klasse 1.4 Studieretning: Matematik
kollegiekokkenet.tmpdesign.dk Side 1
kollegiekokkenet.tmpdesign.dk Side 1 Indholdsfortegnelse Forord 3 Problemformulering 4 Udviklingsmetode 5 Tidsplan 6 Målgruppe 7 Design brief 8 Logo 10 Typografi og farve 11 Navigationsdiagram 12 Usecase
Gruppe: 2 Hold: MulB Årgang 2013 Lærere: Merete Geldermann Lützen & Jesper Hinchely
Bannerpage: http://spicegirls.creativefolder.dk/bannerpage/ Landingpage: http://spicegirls.creativefolder.dk/ René Skovgaard Andersen [email protected] Stig Hamborg Nielsen [email protected]
Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4
Læringsprogram Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 R o s k i l d e T e k n i s k e G y m n a s i u m Indholdsfortegnelse FORMÅL...
Rasmus Kibsgaard Riehn-Kristensen
Rasmus Kibsgaard Riehn-Kristensen Start: 17/3 2010 slut: 30/4 2010 Indholdsfortegnelse 1. Indledning...3 2. Tidsplan...4 3. Kanylemodel...5 4. Kravspecifikationer...6 4.1. Multimedia film 6-12 år...6 4.2.
Børnehave i Changzhou, Kina
Nicolai Hjortnæs Madsen PS11315 [email protected] 3. Praktik 1. September 2014 23. Januar 2015 Institutionens navn: Soong Ching Ling International Kindergarten. Det er en børnehave med aldersgruppen
Bilag 2: Elevinterview 1 Informant: Elev 1 (E1) Interviewer: Louise (LO) Tid: 11:34
Bilag 2: Elevinterview 1 Informant: Elev 1 (E1) Interviewer: Louise (LO) Tid: 11:34 LO: Ja, men først vil vi gerne spørge om, du måske kunne beskrive en typisk hverdag her på skolen? E1: En typisk hverdag
Det Nye Testamente lyd-app. v. Stefan Lykkehøj Lund
Det Nye Testamente lyd-app v. Stefan Lykkehøj Lund Indledning For nogle år siden, fik jeg Det Nye Testamente som lydbog på USB. I starten lyttede jeg en del med tiden blev det dog til mindre og mindre.
2) En anden vigtig betydning er at sætte noget eller nogen i en bestemt tilstand, beskrevet med et adjektiv (se dog 4 nedenfor):
Gøre 1) Gøre kan være et tomt ekko af et andet verbum - eller et tomt spørgsmål: Jeg elsker hestekød ja, det gør jeg også! Hvad gør du dog? Jeg fik bare lyst til at smage på tulipanerne! 2) En anden vigtig
Kom godt i gang med Fable-robotten
Kom godt i gang med Fable-robotten 1. Først skal du installere programmet på din computer. Gå ind på shaperobotics.com og under support vælger du download: Her vælger du, under PC App om du kører Windows
HAN Du er så smuk. HUN Du er fuld. HAN Du er så pisselækker. Jeg har savnet dig. HUN Har du haft en god aften?
SOLAR PLEXUS af Sigrid Johannesen Lys blændet ned. er på toilettet, ude på Nørrebrogade. åbner døren til Grob, går ind tydeligt fuld, mumlende. Tænder standerlampe placeret på scenen. pakker mad ud, langsomt,
Interview med drengene
Interview med drengene Interviewer: Julie = J og Michelle = M. Interviewpersoner: Christian = C og Lasse = L. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 J: Hvad er det I
Sæt 3: Min identitet i de digitale fællesskaber
Dilemmakort Sættet indeholder 9 elevkort og et forklarende kort til læreren. En klasse kan inddeles i op til 9 grupper med 3 elever, der hver få udleveret et dilemmakort som diskuteres i gruppen. Der samles
Bilag 1: Interviewguide:
Bilag 1: Interviewguide: Vores interview guideforskningsspørgsmål Spiller folk på ITU multiplayer, frem for singleplayer? Skaber onlinespil sociale relationer mellem folk på ITU? Interviewspørgsmål Foretrækker
Event. Projektbeskrivelse: (ALLE) Planlægning. Navne: Carina, Heise, Peter. Kommunikationsteori: Navne: Carina, Heise, Peter
Projektbeskrivelse: (ALLE) Planlægning Event Formål: Navne: Carina, Heise, Peter Vores formål var at bygge et sammenhold i afdelingen samt at lave et markedsføringsprojekt for uddannelse HTX. Grunden til
2) En anden vigtig betydning er at sætte noget eller nogen i en bestemt tilstand, beskrevet med et adjektiv (se dog 4 nedenfor):
Gøre 1) Gøre kan være et tomt ekko af et andet verbum - eller et tomt spørgsmål: Jeg elsker hestekød ja, det gør jeg også! Hvad gør du dog? Jeg fik bare lyst til at smage på tulipanerne! 2) En anden vigtig
VEJE TIL UNGES LÆSELYST OG BIBLIOTEKSLYST. Hvad ved vi? Hvad vil vi vide mere om?
VEJE TIL UNGES LÆSELYST OG BIBLIOTEKSLYST Hvad ved vi? Hvad vil vi vide mere om? Projekt Sms-fix - din motivation til læsning 328 unge i 9. klasse og 1.g i Aalborg deltager De modtager 3 forskellige sms-noveller
TJEN PENGE PÅ NETTET
TJEN PENGE PÅ NETTET [Skriv tekst] Side 0 Indholdsfortegnelse Indledning... 1 Hvilke fordele er der ved at tjene penge på nettet?... 1 Måder du kan tjene penge på nettet... 2 Din egen blog... 2 Produktanmeldelser...
Strategirapport for Bloggen alletidersslankekur.dk
Kan du heller ikke finde rundt i alle de slankekure, du bliver bombaderet med i ugeblade, aviser og tv så se med på min blog, hvor jeg foreløbig har samlet 23 slankekure her kan du finde lige den, der
Svendeprøve Projekt Tyveri alarm
Svendeprøve Projekt Tyveri alarm Påbegyndt.: 8/2-1999 Afleveret.: 4/3-1999 Projektet er lavet af.: Kasper Kirkeby Brian Andersen Thomas Bojer Nielsen Søren Vang Jørgensen Indholds fortegnelse 1. INDLEDNING...3
5 min Tanker om tanker repetition fra sidste lektion og lidt nyt dialog med eleverne
Lektion 4: Om forstyrrelser og ro i klassen 5 min Evaluering fra sidste lektion: Hvad virkede godt? 5 min Tanker om tanker repetition fra sidste lektion og lidt nyt dialog med eleverne 5 min Tanker på
Guide til din computer
Guide til din computer Computerens anatomi forklaret på et nemt niveau Produkt fremstillet af Nicolas Corydon Petersen, & fra Roskilde Tekniske Gymnasium, kommunikation & IT, år 2014 klasse 1.2 12-03-2014.
IT sikkerhed Whitelist
IT sikkerhed Whitelist IT sikkerhed Whitelist Skrevet af: Anchelika V. Skjødt og Lasse B. Troelsen Kom/IT A Klasse 3.5 Side 1 af 7. Spam facts Spam er et af de største problemer med internettet på nuværende
KOMMUNIKATION TEMA: GRAFISK DESIGN ROSKILDE TEKNISKE GYMNASIE 1.1 ************ DANIEL KADIR KENNETH ************ Indledning:
KOMMUNIKATION IT TEMA: GRAFISK DESIGN ROSKILDE TEKNISKE GYMNASIE 1.1 ************ DANIEL KADIR KENNETH ************ Indledning: V i har i et teknologi/biologi/kemi projekt skulle lave et produkt, som kunne
Beskæring af et billede med Vegas Pro
Beskæring af et billede med Vegas Pro Gary Rebholz Event Pan / Crop værktøj, som du finder på alle video begivenhed i dit projekt giver dig masser af power til at justere udseendet af din video. Du har
Fable Kom godt i gang
Fable Kom godt i gang Opdateret: 26-03-2018 Indholdsfortegnelse 1. Først skal du installere programmet på din computer 3 2. Når programmet er installeret er du klar til at pakke robotten ud 4 3. Nu er
SKRIV TIL NETTET. - et hurtigt overblik
SKRIV TIL NETTET - et hurtigt overblik Af Nis Hollesen Webmaster Norddjurs Kommune [email protected] Senest opdateret 05.02.2011 Skriv til nettet: Et hurtigt overblik I denne manual kan du få et hurtigt
Kursusmappe. HippHopp. Uge 20. Emne: Venner HIPPY. Baseret på førskoleprogrammet HippHopp Uge 20 Emne: Venner side 1
Kursusmappe Uge 20 Emne: Venner Baseret på førskoleprogrammet HippHopp Uge 20 Emne: Venner side 1 HIPPY HippHopp Uge20_venner.indd 1 06/07/10 12.11 Uge 20 l Venner Hopp er på vej hen til Hipp. Hun kan
Filmmanual for tillidsvalgte. Lav dine egne film til Sociale Medier
Filmmanual for tillidsvalgte Lav dine egne film til Sociale Medier Indholdsfortegnelse 1: Levende billeder på sociale medier 2: Vigtige overvejelser før du går i gang 3: Lav en simpel film 4: Lav en mere
Løgnen. Nyborg Friskole
Løgnen af Nyborg Friskole SC. 1. EXT. PÅ BADEVÆRELSET - SOMMER - DAG Mie (17) er på badeværelset. Mie har taget en gravidtetstest. Vi ser Mie vente. Efter at have nølet i lang tid. Man ser nærbillede af
Design Ergonomi. Brainstorm på billede. 6. december 2011 ROSKILDE TEKNISKE ROSKILE HTX KLASSE 3.5
Design Ergonomi Indledning Ergonomi er endnu et projekt hvor vi for lov at arbejde med design, og opleve hvad der kan stå bag et design. Som nu i dette projekt, måden man bruger et produkt på, og hvor
Overvågningskamera. ~Af Svend, Valdemar og Frederik~
Lavet af Svend, Valdemar og Frederik 2.3 HTX - Roskilde Overvågningskamera ~Af Svend, Valdemar og Frederik~ I dette forløb har vi arbejdet med overvågningskameraer. Det handlede om at lære, hvordan et
"Jeg har ikke tid." "Jeg har ikke pengene."
Lad ikke indvendinger skræmme dig. Se dem som en anmodning om hjælp til at se tingene i et nyt lys og din mulighed for at bringe dem ind i dette nye lys. En formel, der passer til alle indvendinger er
appendix Hvad er der i kassen?
appendix a Hvad er der i kassen? 121 Jeg går meget op i, hvad der er godt, og hvad der ikke er. Jeg er den første til at træde til og hjælpe andre. Jeg kan godt lide at stå i spidsen for andre. Jeg kan
Spørgsmål og svar om inddragelse af pårørende
Spørgsmål og svar om inddragelse af pårørende I Hej Sundhedsvæsen har vi arbejdet på at understøtte, at de pårørende inddrages i større omfang, når et familiemedlem eller en nær ven indlægges på sygehus.
Studerende? Bliv foredragsholder hos Talerøret og tjen 1500 kr. pr. foredrag
1 Studerende? Bliv foredragsholder hos Talerøret og tjen 1500 kr. pr. foredrag Er du god til at forklare din viden for andre? Synes du, det er sjovt at stå på en scene? Kan du gøre indtryk på publikum?
