Více Math.random () metody v částicovém systému
V našem posledním tutoriálu jsme dokončili animaci sněžení pro náš částicový systém Flash CS3. Nejprve jsme vytvořili a animovali jednu sněhovou vločku. Potom jsme vytvořili mnoho animovaných sněhových vloček, abychom dokončili animaci sněžení. Když jsme však film testovali, nebyli jsme s výsledky příliš spokojeni, protože se zdá, že sněhové vločky chybí v levém dolním rohu jeviště.

Co můžeme udělat pro přizpůsobení naší animace? Jak jsme ji nyní kódovali, sněhová vločka může začít svůj život kdekoli podél vrcholu jeviště v poloze mezi 0 a 510 na ose X. Pak tato sněhová vločka postupuje dolů v úhlovém směru doprava. Zdá se, že právě tento úhlový směr způsobuje, že sněhové vločky chybí z levého dolního rohu jeviště. Mohli bychom vyjmout kód, který vytváří úhlový pohyb a naše sněhové vločky padají přímo dolů na jeviště. Pokud bychom tak učinili, sněžení by pokrylo celou etapu, ale ztratili bychom iluzi větru, kterou simuluje úhlový pohyb.

Předpokládejme, že chceme tuto iluzi větru udržet, a proto musíme udržet úhlový pohyb. Jak jsme zmínili výše, naše sněhové vločky mohou začít kdekoli po vrcholu jeviště. Avšak i sněhové vločky, které začnou padat od zcela levé strany jeviště (v poloze 0 na ose X), přistanou ve spodní části jeviště a levá oblast zůstane prázdná. Jak můžeme změnit náš kód tak, aby některé sněhové vločky vstupovaly na jeviště ve spodním bodě podél svislé osy Y, a proto padaly přes levý roh jeviště. Aniž bychom zašli na příliš mnoho matematiky pro tento začátečník, musíme začít vytvářet sněhové vločky mimo oblast jeviště vlevo. Ačkoli tyto sněhové vločky budou neviditelné na začátku jejich života, padnou alespoň polovinou cesty dolů po svislé ose Y, než vstoupí na jeviště a stanou se viditelnými. Tím zajistíme, že tyto sněhové vločky padnou přes levý dolní roh jeviště.

Právě vytváříme náhodné číslo pro vlastnost the_Snowflake.x. Pamatujte, že je to vlastnost _Snowflake.x, která řídí počáteční polohu X pro naše sněhové vločky. Tato počáteční poloha může být libovolné číslo mezi 0 a 510 podél osy X.

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

Pokud řekneme Flash, aby použila číslo mezi -350 a 510, sněhové vločky začínající záporným číslem budou sněhové vločky, které nakonec padnou přes levý dolní roh jeviště. Toho můžeme dosáhnout přidáním -350 do náhodného čísla generovaného metodou Math.random ().

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

Změňte tento řádek kódu a otestujte svůj film. Co se stalo? Opravili jsme náš problém a způsobili další. Nyní v pravém horním rohu jeviště chybí sněhové vločky. Proč? Největší počet pro vlastnost the_Snowflake.x (poloha sněhové vločky podél osy X) bude 160 (510 - 350). Zbytek osy X mezi 161 a 550 nemá žádné sněhové vločky, a proto je v pravém horním rohu prázdný sníh. Jak můžeme získat číslo pro vlastnost the_Snowflake.x v rozmezí 0 až 550? Můžeme rozšířit rozsah náhodných čísel mezi 0 a 900 (550 + 350).

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

Změňte kód a opakujte test. Funguje to. Jsme hotovi? Ne, pokud necháte tuto animaci nějakou dobu běžet, všimnete si, že začne zadávat úkoly počítače. Aby byl ActionScript efektivnější, musíme provést některé změny.

Poznámka - Tento animační kód není úplný, dokud nedosáhnete konce série tutoriálů. Tento neúplný kód nepoužívejte ve svých projektech Flash.

Copyright 2018 Adobe Systems Incorporated. Všechna práva vyhrazena. Snímky obrazovky produktů Adobe přetištěné se souhlasem společnosti 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 a Flash Paper je / jsou [a] registrovanou ochrannou známkou (značkami) nebo ochrannou známkou (značkami) společnosti Adobe Systems Incorporated ve Spojených státech a / nebo jiných zemích.


Video Návody: What is Random? (Smět 2024).