Mer Math.random () -metod i partikelsystem
I vår sista handledning slutförde vi snöfallanimationen för vårt Flash CS3-partikelsystem. Först skapade och animerade vi en snöflinga. Sedan skapade vi många animerade snöflingor för att slutföra snöfallanimationen. Men när vi testade filmen var vi inte så nöjda med resultaten eftersom snöflingorna verkar saknas i scenens nedre vänstra hörn.

Vad kan vi göra för att justera vår animation? Som vi har kodat det nu, kan en snöflinga börja sin livslängd var som helst längs scenens topp på ett läge mellan 0 och 510 på X-axeln. Sedan tar detta snöflinga sig nedåt i en vinkelriktning åt höger. Det verkar som att det är denna vinkelriktning som gör att snöflingorna saknas från scenens nedre vänstra hörn. Vi kan ta ut koden som skapar vinkelrörelsen och våra snöflingor kommer bara att falla rakt ner på scenen. Om vi ​​gjorde detta skulle snöfallet täcka hela scenen men vi skulle förlora den illusion av vind som vinkellörelsen simulerar.

Låt oss anta att vi vill behålla denna illusion av vind och därför måste vi behålla vinkelrörelsen. Som vi nämnde ovan kan våra snöflingor börja var som helst längs scenens topp. Men även snöflingorna som börjar falla från vänster om scenen (vid 0-positionen på X-axeln) kommer att landa längst ner på scenen och lämna det vänstra området tomt. Hur kan vi ändra vår kod så att några av snöflingorna kommer in på scenen vid en nedre punkt längs den vertikala Y-axeln och därför faller över scenens vänstra hörn. Utan att gå in för mycket matematik för denna nybörjarhandledning måste vi börja skapa snöflingor utanför scenområdet till vänster. Även om dessa snöflingor kommer att vara osynliga när de börjar livet, kommer de att falla åtminstone hälften av vägen ner den vertikala Y-axeln innan de kommer in på scenen och blir synliga. Genom att göra detta försäkrar vi att dessa snöflingor kommer att falla över scenens nedre vänstra hörn.

Just nu genererar vi ett slumpmässigt nummer för egenskapen_Snowflake.x. Kom ihåg att det är egenskapen _Snowflake.x som styr den ursprungliga X-positionen för våra snöflingor. Detta initialläge kan vara vilket som helst nummer mellan 0 och 510 längs X-axeln.

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

Om vi ​​berättar för Flash att använda ett nummer mellan -350 och 510 kommer snöflingorna som börjar med ett negativt nummer att vara snöflingorna som så småningom faller över scenens nedre vänstra hörn. Vi kan göra detta genom att lägga till en -350 till det slumpmässiga talet som genereras med Math.random () -metoden.

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

Ändra den här kodraden och testa din film. Vad hände? Vi fixade vårt problem och orsakade ett annat. Nu saknar snöflingorna från scenens övre högra hörn. Varför? Det största antalet för egenskapen_Snowflake.x (snöflingans position längs X-axeln) kommer att vara 160 (510 - 350). Resten av X-axeln mellan 161 och 550 har inga snöflingor och det är därför det övre högra hörnet är tomt för snö. Hur kan vi få numret för egenskapen_Snowflake.x till mellan 0 och 550? Vi kan utöka området för slumpmässigt antal till mellan 0 och 900 (550 + 350).

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

Ändra koden och testa igen. Det fungerar. Är vi klara? Nej, om du låter den här animationen köras under en tid kommer du att märka att den börjar ange datorns resurser. Vi måste göra några ändringar i ActionScript för att göra det mer effektivt.

Obs - Denna animeringskod är inte klar förrän du kommer till slutet av tutorial-serien. Använd inte den här ofullständiga koden i dina Flash-projekt.

Copyright 2018 Adobe Systems Incorporated. Alla rättigheter förbehållna. Adobes produktskärmbild (ar) tryckta med tillstånd från 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, Fireworks, Contribute, Captivate, Flash Catalyst och Flash Paper är / är antingen [a] registrerat varumärke [s] eller ett varumärke [s] från Adobe Systems Incorporated i USA och / eller andra länder.


Video Instruktioner: Physics - Test Your Knowledge: Vectors (22 of 30) Geodesic Part 2: Find the x,y,z Coordinates (Maj 2024).