Vairāk Math.random () metodes daļiņu sistēmā
Savā pēdējā apmācībā mēs pabeidzām sniegputeņa animāciju mūsu Flash CS3 daļiņu sistēmai. Vispirms izveidojām un animējām vienu sniegpārsliņu. Tad mēs izveidojām daudzas animētas sniegpārslas, lai pabeigtu sniegputeņa animāciju. Tomēr, kad pārbaudījām filmu, mēs nebijām ļoti apmierināti ar rezultātiem, jo ​​šķiet, ka sniegpārsliņu trūkst no skatuves apakšējā kreisā stūra.

Ko mēs varam darīt, lai pielāgotu mūsu animāciju? Tā kā mums tas ir kodēts tagad, sniegpārsla var sākt savu dzīvi jebkur skatuves augšdaļā vietā no 0 līdz 510 uz X ass. Tad šī sniegpārsla lejup vērsta leņķa virzienā pa labi. Šķiet, ka tieši šī leņķa virziena dēļ sniegpārslas pazūd no skatuves apakšējā kreisā stūra. Mēs varētu izņemt kodu, kas rada leņķisko kustību, un mūsu sniegpārslas vienkārši kritīs taisni lejā pa skatuvi. Ja mēs to darītu, sniegputenis aptvertu visu posmu, bet mēs zaudētu vēja ilūziju, ko imitē leņķiskā kustība.

Pieņemsim, ka mēs vēlamies saglabāt šo vēja ilūziju, un tāpēc mums jāsaglabā leņķiskā kustība. Kā mēs minēts iepriekš, mūsu sniegpārslas var sākties jebkur skatuves augšpusē. Tomēr pat sniegpārslas, kas sāk krist no skatuves kreisās puses (0 pozīcijā uz X ass), nolaidīsies skatuves apakšējā centrā, atstājot kreiso zonu tukšu. Kā mēs varam mainīt savu kodu tā, lai dažas sniegpārslas nonāk skatuvē zemākā punktā gar vertikālo Y asi un tāpēc kristu pāri skatuves kreisajam stūrim. Neiedziļinoties pārāk daudz matemātikā par šo iesācēju apmācību, mums jāsāk veidot sniegpārslas ārpus skatuves laukuma kreisajā pusē. Kaut arī šīs sniegpārslas, sākot dzīvi, būs neredzamas, tās kritīs vismaz pusi no ceļa vertikālās Y ass virzienā pirms iekāšanas uz skatuves un kļūs redzamas. To darot, mēs garantējam, ka šīs sniegpārslas kritīs pāri skatuves apakšējā kreisajā stūrī.

Pašlaik īpašumam_Snowflake.x tiek ģenerēts nejaušs skaitlis. Atcerieties, ka _Snowflake.x īpašums kontrolē mūsu sniegpārslu sākotnējo X pozīciju. Šī sākotnējā pozīcija var būt jebkurš skaitlis no 0 līdz 510 gar X asi.

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

Ja mēs sakām Flash lietot skaitli no -350 līdz 510, tad sniegpārslas, kas sākas ar negatīvu skaitli, būs sniegpārslas, kas galu galā krīt pāri skatuves apakšējam kreisajam stūrim. Mēs to varam izdarīt, nejaušajam skaitlim, ko ģenerē ar Math.random () metodi, pievienot -350.

_Snowflake.x = -350 + matemātika.dobums () * 510;

Mainiet šo koda līniju un pārbaudiet savu filmu. Kas notika? Mēs labojām savu problēmu un izraisījām citu. Tagad sniegpārslas trūkst no skatuves augšējā labā stūra. Kāpēc? Īpašuma_Snowflake.x lielākais skaits (sniegpārslas novietojums gar X asi) būs 160 (510 - 350). Pārējā X ass garumā no 161 līdz 550 nav sniegpārsliņu, un tāpēc augšējā labajā stūrī nav sniega. Kā iegūt rekvizīta_Snowflake.x numuru diapazonā no 0 līdz 550? Mēs varam paplašināt nejaušā skaitļa diapazonu no 0 līdz 900 (550 + 350).

_Snowflake.x = -350 + matemātika.dobums () * 900;

Mainiet kodu un pārbaudiet vēlreiz. Tas strādā. Vai mēs esam pabeiguši? Nē, ja ļausit šai animācijai kādu laiku darboties, pamanīsit, ka tā sāk uzlādēt datora resursus. Mums ir jāveic dažas izmaiņas ActionScript, lai tā būtu efektīvāka.

Piezīme. Šis animācijas kods nav pilnīgs, kamēr nav sasniegts apmācību sērijas beigas. Nelietojiet šo nepilnīgo kodu savos Flash projektos.

Autortiesības 2018 Adobe Systems Incorporated. Visas tiesības aizsargātas. Adobe produkta ekrānuzņēmums (-i) ir pārpublicēts ar Adobe Systems Incorporated atļauju. 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 and Flash Paper ir / ir vai nu [a] reģistrēta preču zīme (-es), vai Adobe Systems Incorporated preču zīme (-es) Amerikas Savienotajās Valstīs un / vai citās valstīs.


Video Instrukcijas: Building a culture of feedback in every school | Ernest Jenavs | TEDxRiga (Aprīlis 2024).