Mere Math.random () -metode i partikelsystem
I vores sidste tutorial afsluttede vi snefaldsanimationen til vores Flash CS3 partikelsystem. Først oprettede og animerede vi en snefnug. Derefter skabte vi mange animerede snefnug for at afslutte snefaldsanimationen. Da vi testede filmen, var vi imidlertid ikke meget tilfredse med resultaterne, fordi snefnugene ser ud til at mangle i det nederste venstre hjørne af scenen.

Hvad kan vi gøre for at justere vores animation? Som vi har den kodet nu, kan en snefnug begynde sit liv hvor som helst langs toppen af ​​scenen i en position mellem 0 og 510 på X-aksen. Derefter kaster denne snefnug sig nedad i en vinkelretning mod højre. Det ser ud til, at det er denne vinkelretning, der forårsager, at snefnugene mangler fra scenens nederste venstre hjørne. Vi kunne tage koden, der skaber vinkelbevægelsen, og vores snefnug falder lige ned ad scenen. Hvis vi gjorde dette, ville snefaldet dække hele scenen, men vi ville miste illusionen om vind, som vinkelbevægelsen simulerer.

Lad os antage, at vi ønsker at bevare denne illusion af vind, og derfor er vi nødt til at bevare vinkelbevægelsen. Som nævnt ovenfor kan vores snefnug begynde hvor som helst langs toppen af ​​scenen. Selv snefnugene, der begynder at falde fra venstre side af scenen (i 0-positionen på X-aksen), vil imidlertid lande i bunden af ​​scenen og efterlade det venstre område tomt. Hvordan kan vi ændre vores kode, så nogle af snefnugene kommer ind på scenen på et lavere punkt langs den lodrette Y-akse og derfor falder over scenens venstre hjørne. Uden at gå for meget i matematik til denne begyndertutorial, er vi nødt til at begynde at oprette snefnug uden for sceneområdet til venstre. Selvom disse snefnug vil være usynlige, når de begynder deres liv, falder de mindst halvdelen af ​​vejen ned ad den lodrette Y-akse, inden de kommer ind på scenen og bliver synlige. Ved at gøre dette, forsikrer vi, at disse snefnug falder over scenens nederste venstre hjørne.

Lige nu genererer vi et tilfældigt tal til egenskaben_Snowflake.x. Husk, at det er egenskaben _Snowflake.x, der kontrollerer den indledende X-position for vores snefnug. Denne startposition kan være et vilkårligt tal mellem 0 og 510 langs X-aksen.

_Snowflake.x = Math.random () * 510;

Hvis vi beder Flash om at bruge et tal mellem -350 og 510, vil de snefnug, der begynder med et negativt tal, være de snefnug, der til sidst falder over scenens nederste venstre hjørne. Vi kan gøre dette ved at tilføje et -350 til det tilfældige tal, der er genereret ved Math.random () -metoden.

_Snowflake.x = -350 + Math.random () * 510;

Skift denne kodelinje, og test din film. Hvad skete der? Vi løste vores problem og forårsagede et andet. Nu mangler snefnug fra øverste højre hjørne af scenen. Hvorfor? Det største antal for egenskaben_Snowflake.x (placeringen af ​​snefnug langs X-aksen) vil være 160 (510 - 350). Resten af ​​X-aksen mellem 161 og 550 har ingen snefnug, og det er derfor, det øverste højre hjørne er tomt for sne. Hvordan kan vi få nummeret for egenskaben_Snowflake.x til at ligge mellem 0 og 550? Vi kan udvide området for det tilfældige antal til mellem 0 og 900 (550 + 350).

_Snowflake.x = -350 + Math.random () * 900;

Skift koden, og test igen. Det virker. Er vi færdige? Nej, hvis du lader denne animation køre i nogen tid, vil du bemærke, at den begynder at opgave computerens ressourcer. Vi er nødt til at foretage nogle ændringer i ActionScript for at gøre det mere effektivt.

Bemærk - Denne animationskode er ikke fuldført, før du kommer til slutningen af ​​tutorial-serien. Brug ikke denne ufuldstændige kode i dine Flash-projekter.

Copyright 2018 Adobe Systems Incorporated. Alle rettigheder forbeholdes. Adobe-produktskærmbilleder (r) genudtrykt med tilladelse fra Adobe Systems Incorporated. Adobe, Photoshop, Photoshop Album, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, fyrværkeri, Bidrage, Captivate, Flash Catalyst og Flash Paper er / er enten [a] registreret varemærke [er] eller et varemærke [s] fra Adobe Systems Incorporated i USA og / eller andre lande.


Video Instruktioner: Inflammatory response | Human anatomy and physiology | Health & Medicine | Khan Academy (Kan 2024).