Meer Math.random () methode in deeltjessysteem
In onze laatste tutorial hebben we de sneeuwvalanimatie voor ons Flash CS3-deeltjessysteem voltooid. Eerst hebben we één sneeuwvlok gemaakt en geanimeerd. Vervolgens hebben we veel geanimeerde sneeuwvlokken gemaakt om de sneeuwvalanimatie te voltooien. Toen we de film testten, waren we echter niet erg blij met de resultaten omdat de sneeuwvlokken linksonder in het podium lijken te ontbreken.

Wat kunnen we doen om onze animatie aan te passen? Zoals we het nu hebben gecodeerd, kan een sneeuwvlok zijn leven overal langs de bovenkant van het podium beginnen op een positie tussen 0 en 510 op de X-as. Dan baant deze sneeuwvlok een weg naar beneden in een hoekige richting naar rechts. Het lijkt erop dat het deze hoek is die ervoor zorgt dat de sneeuwvlokken ontbreken in de linkeronderhoek van het podium. We kunnen de code verwijderen die de hoekbeweging creëert en onze sneeuwvlokken vallen gewoon recht van het podium. Als we dit zouden doen, zou de sneeuwval het hele podium bedekken, maar zouden we de illusie van wind verliezen die de hoekbeweging simuleert.

Laten we aannemen dat we deze illusie van wind willen behouden en daarom moeten we de hoekbeweging behouden. Zoals we hierboven vermeldden, kunnen onze sneeuwvlokken overal boven aan het podium beginnen. Zelfs de sneeuwvlokken die van uiterst links van het podium beginnen te vallen (op de 0-positie op de X-as) zullen echter midden onderaan het podium landen, waardoor het linkergebied leeg blijft. Hoe kunnen we onze code wijzigen zodat sommige sneeuwvlokken het podium op een lager punt langs de verticale Y-as binnenkomen en daarom over de linkerhoek van het podium vallen. Zonder al te veel wiskunde te gebruiken voor deze tutorial voor beginners, moeten we beginnen met het maken van sneeuwvlokken buiten het podiumgedeelte aan de linkerkant. Hoewel deze sneeuwvlokken onzichtbaar zijn wanneer ze aan hun leven beginnen, vallen ze minstens de helft van de verticale Y-as naar beneden voordat ze het podium betreden en zichtbaar worden. Door dit te doen, verzekeren we dat deze sneeuwvlokken in de linker benedenhoek van het podium zullen vallen.

Op dit moment genereren we een willekeurig nummer voor de eigenschap_Snowflake.x. Onthoud dat het de eigenschap _Snowflake.x is die de initiële X-positie voor onze sneeuwvlokken bepaalt. Deze beginpositie kan elk getal tussen 0 en 510 langs de X-as zijn.

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

Als we Flash een getal tussen -350 en 510 laten gebruiken, zijn de sneeuwvlokken die met een negatief getal beginnen, de sneeuwvlokken die uiteindelijk over de linkeronderhoek van het podium vallen. We kunnen dit doen door een -350 toe te voegen aan het willekeurige getal dat wordt gegenereerd door de methode Math.random ().

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

Wijzig deze coderegel en test uw film. Wat is er gebeurd? We hebben ons probleem opgelost en een ander veroorzaakt. Nu ontbreken de sneeuwvlokken in de rechterbovenhoek van het podium. Waarom? Het grootste nummer voor de eigenschap_Snowflake.x (de positie van de sneeuwvlok langs de X-as) is 160 (510 - 350). De rest van de X-as tussen 161 en 550 heeft geen sneeuwvlokken en daarom is de rechterbovenhoek leeg van sneeuw. Hoe kunnen we het nummer voor de eigenschap_Snowflake.x laten variëren tussen 0 en 550? We kunnen het bereik van het willekeurige getal uitbreiden tussen 0 en 900 (550 + 350).

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

Wijzig de code en test opnieuw. Het werkt. Zijn we klaar? Nee, als u deze animatie enige tijd laat uitvoeren, zult u merken dat deze de bronnen van uw computer begint te belasten. We moeten enkele ActionScript-wijzigingen aanbrengen om het efficiënter te maken.

Opmerking: deze animatiecode is pas voltooid als u het einde van de zelfstudieserie bereikt. Gebruik deze onvolledige code niet in uw Flash-projecten.

Copyright 2018 Adobe Systems Incorporated. Alle rechten voorbehouden. Schermafbeeldingen van Adobe-producten herdrukt met toestemming van 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 en Flash Paper is / zijn ofwel [a] geregistreerde handelsmerken [s] of een handelsmerk [s] van Adobe Systems Incorporated in de Verenigde Staten en / of andere landen.


Video-Instructies: Imaginary Numbers Are Real [Part 1: Introduction] (April 2024).