Der er 7 sinuskurver, som er forskudt i vandret plan. Bagefter forøges amplituden så for hver af bølgerne, hvilket medfører et større udsving på bølgebevægelsen. En bølge beskrives matematisk på følgende måde (jeg har dog udeladt symbolerne fi og omega her):
f(x) = A*sin(x)+k
Her er A amplituden (den lodrette afstand fra bølgens midte til en bølgetop), x er selvfølgelig den variable og k er forskydningen i lodret retning. Vi bliver dog nødt til at manipulere lidt med værdien af k, da koordinatsystemet i Flash har koordinatet (0,0) i øverste venstre hjørne i stedet for i midten (desuden stiger y-værdierne nedad).
For at vise en bølge i Flash skal vi så plotte en række punkter ind i koordinatsystemet vha. ligningen og så forbinde alle de punkter med linier (i stedet for at bruge faktiske punkter kan vi også lagre x - og y-positionerne i to arrays).
Jeg har ikke tid til at lave en fil lige nu, men du skal bare vælge nogle værdier af x, putte dem ind i ligningen og så placere dit punkt på din valgte x-værdi. Værdien af y bliver så den værdi, som du fik ved at indsætte x i ligningen. Husk at du bliver nødt til at manipulere med værdien af k! Hvis du f.eks. vil have bølgen til at være midt på skærmen, så skal k være 200 (normalt er dit arbedsområde 400 pixels højt, og halvdelen er så 200 pixels).
jeg har prøvet at lave bølgen som movieclip, for at gøre det lettere for mig selv, men det ligner l...! Det kan desværre ikke anbefales, bevægelserne bliver helt forkerte, der er ikke det samme \"flow\" i det
\"Flow\" kan opnås ved at have de 7 instancer med samme skalering men en lille smule forskel i hastighederne. Det er nok mere lige til at ændre disse flash parameter end det er at skulle sætte sig ind i matematikken, men en tro kopi bliver det sikkert ikke :(
Fuck det, jeg laver bare et eksempel. Det bliver desværrre ikke før på søndag (muligvis mandag), fordi jeg skal til fest i aften og så være sammen med kæresten resten af weekenden (jeg skal også ordne en bunke lektier på søndag).
Jeg har lavet et eksempel med én enkelt bølge, men du skal bare tage en kopi af movie clippet på hovedtidslinien for at lave en ny bølge (al koden er vedhæftet til movie clippet). Bare husk ikke at have for mange kopier på en gang, da det ellers kommer til at køre langsomt (beregningen af sinus er forholdsvis langsom) - ellers må du ændre på variablene.
Hvad er din email adresse (jeg kan ikke uploade lige nu, fordi Subnet.dk er nede)?
Jeg har lavet endnu et eksempel, hvor der er 7 bølger (jeg har lavet det med noget kode vedhæftet til hovedtidslinien i stedet for at kopiere dem i hånden) og en fornemmelse af rum:
Ah, for satan! Jeg troede ellers, jeg havde husket rigtigt, men bølgen vokser fra venstre (jeg kiggede kun en enkelt gang, og lavede skidtet på tyve minutter). Nå, men det må I undskylde og jeg skal nok få det ændret...
hoejrup > Hvordan skulle det laves mere dynamisk? Hvis det ikke er helt ens, så er det som sagt, fordi jeg huskede forkert, men ellers er det bare et spørgsmål om at ændre på nogle variable (jeg har dog sat kvaliteten til lav for at øge hastigheden). Kan du ikke uddybde det?
Forresten får jeg 11 i skriftlig og mundtlig matematik på højt niveau i gymnasiet, så er forholdsvis god til matematik, selvom vi først kommer til vektorer og 3d senere (det glæder jeg mig til).
Det er jo bare et spørgsmål om at ændre på antallet af punkter og længden! Når man bruger ordet \"dynamisk\" i sammenhæng med Flash forstås normalt, at der er anvendt kode fremfor en manuel opbygning.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.