Mai mult Metoda Math.random () în sistemul de particule
În ultimul nostru tutorial, am finalizat animația pentru ninsori pentru sistemul nostru de particule Flash CS3. Mai întâi am creat și animat un singur fulg de zăpadă. Apoi, am creat mulți fulgi de zăpadă animați pentru a finaliza animația cu ninsori. Cu toate acestea, când am testat filmul, nu am fost foarte mulțumiți de rezultate, deoarece fulgii de zăpadă par să lipsească din colțul din stânga jos al scenei.

Ce putem face pentru a ne ajusta animația? După cum am codat-o acum, un fulg de zăpadă își poate începe viața oriunde de-a lungul vârfului scenei într-o poziție între 0 și 510 pe axa X. Apoi, acest fulg de zăpadă se îndreaptă în jos în direcție unghiulară spre dreapta. Se pare că tocmai această direcție unghiulară provoacă lipsa fulgilor de zăpadă din colțul din stânga jos al scenei. Am putea scoate codul care creează mișcarea unghiulară și fulgii noștri vor cădea drept pe scenă. Dacă am face acest lucru, ninsorile ar acoperi întreaga etapă, dar am pierde iluzia vântului pe care mișcarea unghiulară o simulează.

Să presupunem că vrem să păstrăm această iluzie a vântului și, prin urmare, trebuie să păstrăm mișcarea unghiulară. După cum am menționat mai sus, fulgii noștri pot începe oriunde de-a lungul vârfului scenei. Cu toate acestea, chiar și fulgii de zăpadă care încep să cadă din stânga etapei (în poziția 0 pe axa X) vor ateriza în centrul de jos al scenei, lăsând zona stângă goală. Cum ne putem schimba codul astfel încât unii dintre fulgii de zăpadă să intre pe stadiu într-un punct inferior de-a lungul axei Y verticale și, prin urmare, să cadă în colțul stâng al scenei. Fără a intra în prea multă matematică pentru acest tutorial pentru începători, trebuie să începem să creăm fulgi de zăpadă în afara zonei de scenă din stânga. Deși acești fulgi de zăpadă vor fi invizibili atunci când își încep viața, ei vor cădea cel puțin jumătate din drumul pe axa Y verticală înainte de a intra în scenă și vor deveni vizibili. Făcând acest lucru, ne asigurăm că acești fulgi de zăpadă vor cădea în colțul din stânga jos al scenei.

Momentan, vom genera un număr aleatoriu pentru proprietatea_Snowflake.x. Nu uitați că este proprietatea _Snowflake.x care controlează poziția X inițială pentru fulgii de zăpadă. Această poziție inițială poate fi orice număr cuprins între 0 și 510 de-a lungul axei X.

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

Dacă îi spunem lui Flash să folosească un număr între -350 și 510, fulgii de zăpadă care încep cu un număr negativ vor fi fulgii de zăpadă care se încadrează în colțul din stânga jos al scenei. Putem face acest lucru adăugând un -350 la numărul aleatoriu generat de metoda Math.random ().

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

Schimbă această linie de cod și testează-ți filmul. Ce s-a întâmplat? Ne-am rezolvat problema și am provocat alta. Acum fulgii de zăpadă lipsesc din colțul din dreapta sus al scenei. De ce? Cel mai mare număr pentru proprietatea_Snowflake.x (poziția fulgului de zăpadă de-a lungul axei X) va fi 160 (510 - 350). Restul axei X între 161 și 550 nu au fulgi de zăpadă și de aceea, colțul din dreapta sus este gol de zăpadă. Cum putem obține numărul pentru proprietatea_Snowflake.x să varieze între 0 și 550? Putem extinde domeniul numărului aleator până la 0 și 900 (550 + 350).

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

Schimbă codul și testează din nou. Functioneaza. Am terminat? Nu, dacă lăsați această animație să funcționeze de ceva timp, veți observa că începe să își îndeplinească resursele computerului. Trebuie să facem unele modificări la ActionScript pentru a-l face mai eficient.

Notă - Acest cod de animație nu este complet până când nu ajungeți la sfârșitul seriei de tutorial. Nu folosiți acest cod incomplet în proiectele dvs. Flash.

Copyright 2018 Adobe Systems Incorporated. Toate drepturile rezervate. Captura (ecranele) de produs Adobe tipărite cu permisiunea Adobe Systems Incorporated. Adobe, Photoshop, Photoshop Album, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Elementele Premiere, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Fireworks, Contribute, Captivate, Flash Catalyst și Flash Paper este / sunt [o] marcă înregistrată [sau] sau o marcă comercială a Adobe Systems Incorporated în Statele Unite și / sau în alte țări.


Instrucțiuni Video,: The mathematician who cracked Wall Street | Jim Simons (Aprilie 2024).