Viac Math.random () metódy v časticovom systéme
V našom poslednom návode sme dokončili animáciu sneženia pre náš časticový systém Flash CS3. Najprv sme vytvorili a animovali jednu snehovú vločku. Potom sme vytvorili veľa animovaných snehových vločiek na dokončenie animácie sneženia. Keď sme však film vyskúšali, s výsledkami sme neboli veľmi spokojní, pretože v ľavom dolnom rohu javiska chýba snehové vločky.

Čo môžeme urobiť pre úpravu našej animácie? Ako je teraz kódované, snehová vločka môže začať svoju životnosť kdekoľvek pozdĺž vrcholu javiska v polohe medzi 0 a 510 na osi X. Potom sa táto snehová vločka pohybuje dole v uhlovom smere doprava. Zdá sa, že práve tento uhlový smer spôsobuje, že snehové vločky chýbajú v ľavom dolnom rohu javiska. Mohli by sme vytiahnuť kód, ktorý vytvára uhlový pohyb, a naše snehové vločky budú padať priamo dole na pódium. Ak by sme to urobili, sneženie by pokrylo celú fázu, ale stratili by sme ilúziu vetra, ktorú simuluje uhlový pohyb.

Predpokladajme, že chceme udržať túto ilúziu vetra, a preto musíme zachovať uhlový pohyb. Ako sme už spomenuli vyššie, naše snehové vločky môžu začať kdekoľvek pozdĺž vrchu javiska. Avšak aj snehové vločky, ktoré začínajú padať od úplne ľavej strany javiska (v polohe 0 na osi X), pristanú v strede dna javiska a zostane ľavá oblasť prázdna. Ako môžeme zmeniť náš kód tak, aby niektoré snehové vločky vstupovali na javisko v dolnom bode pozdĺž vertikálnej osi Y, a preto padali cez ľavý roh javiska. Bez toho, aby sme pre tento kurz pre začiatočníkov potrebovali príliš veľa matematiky, musíme začať vytvárať snehové vločky mimo oblasti javiska vľavo. Aj keď budú tieto snehové vločky na začiatku svojho života neviditeľné, padnú aspoň polovicu cesty nadol od vertikálnej osi Y skôr, ako vstúpia na javisko a budú viditeľné. Týmto zabezpečujeme, aby tieto snehové vločky padali cez ľavý dolný roh pódia.

Práve teraz generujeme náhodné číslo pre vlastnosť_Snowflake.x. Pamätajte, že je to vlastnosť _Snowflake.x, ktorá riadi počiatočnú polohu X pre naše snehové vločky. Táto počiatočná poloha môže byť akékoľvek číslo medzi 0 a 510 pozdĺž osi X.

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

Ak povieme Flash, aby použil číslo medzi -350 a 510, snehové vločky, ktoré začínajú záporným číslom, budú snehové vločky, ktoré nakoniec padnú cez ľavý dolný roh scény. Môžeme to urobiť tak, že k náhodnému číslu vygenerovanému metódou Math.random () pridáme -350.

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

Zmeňte tento riadok kódu a otestujte svoj film. Čo sa stalo? Opravili sme náš problém a spôsobili ďalší. V pravom hornom rohu javiska chýbajú snehové vločky. Prečo? Najväčšie číslo pre vlastnosť _Snowflake.x (poloha snehových vločiek pozdĺž osi X) bude 160 (510 - 350). Zvyšok osi X medzi 161 a 550 nemá žiadne snehové vločky, a preto je v pravom hornom rohu sneh prázdny. Ako môžeme získať číslo pre vlastnosť the_Snowflake.x v rozsahu od 0 do 550? Rozsah náhodného čísla môžeme rozšíriť na 0 až 900 (550 + 350).

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

Zmeňte kód a skúste znova. Funguje to. Sme hotoví? Nie, ak necháte nejakú animáciu nejakú dobu spustiť, všimnete si, že začne spracúvať prostriedky vášho počítača. Aby sme mohli ActionScript zefektívniť, musíme urobiť nejaké zmeny.

Poznámka - Tento animačný kód nie je úplný, kým sa nedostanete na koniec tutoriálu. Tento neúplný kód nepoužívajte vo svojich projektoch Flash.

Copyright 2018 Adobe Systems Incorporated. Všetky práva vyhradené. Snímky obrazovky produktov spoločnosti Adobe znova vytlačené so súhlasom spoloč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 / sú [a] registrované ochranné známky alebo ochranné známky spoločnosti Adobe Systems Incorporated v USA a / alebo iných krajinách.


Video Návody: What is Random? (Smieť 2024).