Actionscript bilan ishlash




Download 284,3 Kb.
Pdf ko'rish
bet1/2
Sana11.12.2023
Hajmi284,3 Kb.
#115927
  1   2
Bog'liq
8-lecture Multimedia



ACTIONSCRIPT BILAN ISHLASH 
Buning uchun F9 tugmasini bosib Actions oynasini ochib kerakli kodlarni kiritamiz. 
Actionscript tili ancha murakkab va imkoniyatlari keng boplgan til, sintaksisi C, Java tillariga 
opxshab ketadi. 
Dasturlash paytida kodlarni grafik komponentlarga yoki kadrlarga bog’lab qo’yish 
mumkin. Virtual dunyoni yaratish va boshqarish dasturi algoritmi. 
Biz yuqorida Macromedia Flash dasturi imkoniyatlarini o’rganib chiqdik. Endi o’yin yaratish 
nazariyasini eslab olamiz. Mahlumki o’yin yaratish xam oson ish emas. Bunda xisobga olinadigan 
bir necha murakkab talablar mavjud.
O’yin yaratishda birinchi bo’lib “poyga” opynidan boshlash maqsadga muvofiq. CHunki 
shu soddagina o’yin misolida barcha o’yinlarni tashkil etadigan elementlarni kamroqmexnat qilib 
kuzatish mumkin. Bundan tashqari alohida rassomlikni talab qilmaydi, tasvirlar unchalik xam 
talabchan boplmaydi. Mashinalar va atrof dunyoni chizish kopp vaqt olmaydi. Poyga opynida 
deyarli barcha o’yinlar uchun umumiy boplgan komponentlar mavjud.
1. O’yin tugamaguncha qayta qayta bajariladigan jarayon. 
2. Kirish mahlumotlarini o’qish.
3. Mahlumotlarni qayta ishlash.
4. O’yin elementlarini yangilash.
5. Yutuq yoki yutqazish shartini tekshirish.
Xar bir yaratiladigan o’yin shu ishlardan iborat bopladi. SHuning uchun bu jarayonlarni 
yaxshi o’rganib chiqib amaldi oshirish zarur. CHunki shu ishlarni biror marta oxirigacha amalga 
oshirmagan odam bular xaqida tassavurga ega bulmaydi. Va nixoyat boshqa loyxalarni baxolashda 
o’z mezonlaringizga ega boplasiz.
Bunda tashqari bu o’yin virtual darsliklarni yaratish negizi bo’lib xizmat qiladi.
CHunki talaba darsni kopradi, eshitadi va boshqarishi mumkin. O’tgan mavzuni o’zlashtira 
olmagan talaba navbatdagi mavzuga optishini opqituvchi emas balki mana shu soddagina “Poyga” 
o’yini boshqaradi. 
Virtual dunyomiz komponentlarini tartib bilan joylashtiramiz. Bunda iloji boricha xar bir 
komponent aloxida Layer larda joylashgan boplishi maqsadga muvofiq. Biz ularni quyidagicha 
joylashtirdik. 


O’yin algoritmi uncha murakkab emas.
1. Doyimiy xarakatdagi yopl chiziqlari va uylar. 
2. Boshqariladigan mashina 
3. Raqib (kompgpyuter tomonidan boshqariladigan) mashina. 
4. Ularni topqnashishlarni xisoblab turish.
5. Topxtatib turish kodlari.
Movie explorer oynasi barcha kodlarni qaerda joylashganligini koprsatib beradi. 
Doimiy xarakatdagi yul chizig’i va atrofdagi uylar bir qavatni egallaydi. 
Ular oddiy usuldagi animatsiyadan boshqa narsa emas. Demak uni bajarib olamiz buning 
uchun:
1. chiziq va uylarni bitta muvi klipda birlashtirib olamiz.
2. Sichqoncha chap tugmasini ikki marta chertib muvi klip tarkibiga kirib boramiz.
3. u yerda taxminan 20 freymlarda F6 tugmasi yordamida bir kalit freym oprnatamiz.
4. Klipizni tarkibini vertikal yopnalishda pastga karab xarakatlantirib qopyamiz.
Ctrl+Enter tugmalar birimasini bosib klipimizni tekshirib kopramiz. 


CHiziqqa beriladigan xarakatni xam boshqarish mumkin.
Buning uchun uning xarakatlanash kadriga kirib borib uch qismga boplamiz. Va xar bir qismni 
boshiga turli nomdagi label lar qopyib chiqamiz. Bizning misolda quyidagicha.
Ko’rinib turibdiki uchta boplim biri biridan vakt davomiyligi bilan ajralib turibdi. Yahni 
bu yerda uzunroq kesmada kopp vakt ketib xarakat sust, tezlik past bopladi. Keyingisida tezroq, 
oxirgisida esa juda tez almashinish natijasida tezlik ortib ketadi. Xar bir kesmani oxiriga kiska kod 
yozib qopyamiz u kod joriy kesmani boshiga qaytishni tahminlab turadi. Aks xolda tartibsiz 
xarakat vujudga keladi. Umuman olganda animatsiya dasturlarida dasturlashda shuni xisobga olish 
kerak agar bir kod topliq bajarilishi kerak bulsa dasturchi shu kadrda topxtashni buyurib qopishi 
kerak.
Dasturiga esa quyidagi kodni yozamiz. 
Birinchi kadrga
stop(); 
Xar bir kesmani oxirigi kadriga esa
gotoAndplay("run1");
yoziladi. Bu yerda run1 mos kesmani birinchi kadr metkasi. 
Mos ravishda navbatdagi kesmalar bilan shu ishlar bajarilgandan keyin stsena qayitib chiziqni 
belgilab uning kodiga shunday dastur kiritamiz. 
on (keypress ""){ 
_global.space+=1;; 
//trace(_global.space); 
if (_global.space==1) {gotoAndplay("run1");} 
if (_global.space==2) {gotoAndplay("run2");} 
if (_global.space==3) {gotoAndplay("run3");} 
if (_global.space>3) {_global.space=0; gotoAndplay("run1");} 

Bu yerda probel tugmasini bosganimizda bajariladigan xodisani boshqarish buyruqlari keltirilgan.
_global.space global o’zgaruvchisi umumiy dasturimizda mashinamiz tezligini anglatadi. Xar bir 
probel bosilishida tezlik birga ortadi.
Mos ravishda chiziqni xarakatlanish boshqaruvi avval gapirilgan mos kesmalarga optib boradi.
gotoAndplay( ) buyrug’i mos metkaga optib borishni tahminlaydi. SHart tekshirish operatori S++ 
dasturlash tilidagi singari ishlaydi.
SHunday qilib chiziq va uylarni xarakatlanishini probel tugmasiga bog’lab qopydik. Bu 
bilan biz mashinamiz tezligini boshqargan boplamiz. 
Bizning mashinamiz boshqarilishi yahni maydon bopylab chapga, opnga, pastga va 
yukoriga erkin xarakatlanishi. 
Buning uchun mashinani tanlab action kodiga quyidagi kodni kiritamiz.
onClipEvent(enterFrame){ 
//trace("x"); 
if (Key.isDown(Key.LEFT)) 
{if (this._x<203 ) {this._x=this._x} else { this._x-=5; this.gotoAndplay("bl");}} 
if (Key.isDown(Key.RIGHT)) 
{if (this._x>357 ) {this._x=this._x} else { this._x+=5; this.gotoAndplay("br");}} 


if (Key.isDown(Key.Up)) 
{this._y-=5;} 
if (Key.isDown(Key.DOWN)) 
{this._y+=5;} 

Bu yerda onClipEvent(enterFrame) funktsiyasi keltirilgan uning bajaradigan ishi joriy 
klip xodisalarini boshqarish. Bizning misolda enterFrame xodisasi yahni negizi animatsiya 
boplgan flesh dasturining kadrlar freymlar yuklanishi xodisasi. Bu xodisa takrorlanish teziligini 
boshqarish mumkin. Buninng uchun kadrlar almashinishini frame rate ni oshirish yetarli bizning 
misolda uni 120 ga oshirib qopyilgan. 
Key.isDown funktsiyasi qaysi tugma bosilishini kuzatib beradigan funktsiya. 
Navbatdagi satrda esa.
{if (this._x<203 ) {this._x=this._x} else { this._x-=5; 
Joriy klip x koordinatasi 203 dan kamaysa o’z qiymatini saqlab qolishini aks xolda 5 
birlikka kamayib borishini tahminlab beradi.
Mos ravishda quyidagi kod xam opng tomondan chegaranishni tahminlaydi.
{if (this._x>357 ) {this._x=this._x} else { this._x+=5; 
bl, br metkalari mashina klipini tarkibida joylashgan metkalar va mashina tasviri shu 
metkalar qopyilgan kadrlarda mos ravishda chapga yoki opnga burilib qopilgan. Xar bir tugma 
bosilishida mos ravishda chapga, opnga burilish effektini yaratib beradi.
this.gotoAndplay("bl");}} 
this.gotoAndplay("br");}} 
Raqib tomonidan boshqariladigan mashinalar xarakati. 
Uning kodi 2 chi freymda joylashtirilgan va tarkibi quyidagicha. 

Download 284,3 Kb.
  1   2




Download 284,3 Kb.
Pdf ko'rish