AS yordamida animatsiya
Endi ActionScript (AS) yordamida predmetlarni ish maydoni bo'ylab harakatlantirishni o'rganamiz. Avvalgi darsda tugmaga ssenariy biriktirganimiz kabi, bu darsda ssenariyni endi klipga biriktiramiz.
Yangi rolik hosil qiling. Klipni ish maydoniga joylashtiring. Bizning misolda ish maydonida tulkining rasmi joylashtirilgan (2.6-rasm). Agar xohlasangiz, soddaroq biror shakl, masalan, doira chizib oling va uni klip simvoliga aylantiring.
(http://www.flash-doc.ru/imgs/998_09-1.gif)
2.6-rasm. Rolik klip va unga biriktirilgan ssenariydan iborat
Ushbu holda onCIipEvent operatoridan foydalanamiz, bu operator rolik kliplari uchun voqealarni belgilab beradi. Bizning holda voqea bu: enterFrame. Bu hodisa ushbu kadrga har safar murojaat qilinganda ishga tushadigan avtomatik voqea hisoblanadi. Agar rolik 12 kadr/s tezlik bilan ijro etiladigan bo'lsa, bu hodisa ssenariyni qayta ishlash dasturiga sekundiga 12 marotaba yuboriladi.
Agar rolik stop () buyrug'i bilan to'xtatilsa, yoki faqat birgina kadrdan iborat bo'lsa, u holda ushbu kadr "sikllanib qoladi" (takrorlanib turadi), ya'ni rolik tezligida qayta chizilib turadi.
Tugmalar uchun xos bo'lgan On (press) ssenariysi singari, onClipEvent (enterFrame) hodisalariga reaksiya buyruqlari ham shakldor qavs ichiga olinadi. Bizning dasturimizda birgina buyruq bo'ladi - u ham bo'lsa, klipni 1 piksel chapga surish buyrug'i. Keling ssenariyni ko'rib chiqamiz.
Kod: [Belgilash]
OnClipEvent(enterFrame) {
this._ x -- ;
}
This._х -- buyrug'i, ajablanarli tuyulyaptimi? Keling uni tahlil qilamiz.
This buyrug'i o'zi tegishli bo'lgan obyektga (bizda shu ssenariyni o'z ichiga olgan klipga) murojaatni bildiradi.
This buyrug'idan so'ng nuqta keladi, nuqta obyekt xususiyatiga murojaatni bildiradi. Bizning misoldagi _х klipning gorizontal holatini bildiradi.
Shunday qilib, this._x klipning gorizontal holatini bildiradi. -- simvoli dekrement (qiymatning kamayishi buyrug'i). U o'zidan oldin kelgan qiymatni 1 birlik pasaytiradi. Demak, this._x -- buyrug'i avval klipning gorizontal holati (absissasi) qiymatini oladi, so'ng uni 1 birlik pasaytiradi.
Agar klipni 1 birlik o'ngga surish kerak bo'lsa, ++ (inkrement - qiymatni ko'paytirish) buyrug'idan foydalaniladi. Agar klipni 1 birlik emas, bir necha birlikka surmoqchi bo'lsangiz, += yoki -= buyruqlaridan foydalanasiz:
Kod: [Belgilash]
OnClipEvent(enterFrame) {
this._x -= 5;
}
Bu buyruq klipni besh piksel suradi.
Nom:
Do'stlaringiz bilan baham: |