Білім беру бағдарламасы- компьютерлік анимация


Кодты жүйелеу және орталықтандыру



бет88/107
Дата03.01.2022
өлшемі0.73 Mb.
#451310
1   ...   84   85   86   87   88   89   90   91   ...   107
Компьютерлік анимация УМКД

Кодты жүйелеу және орталықтандыру

Қол жеткізуді қамтамасыз етудің екі аспектісі бар: интерпретациялаушы программаның қасиеттері функция және айнымалыларды жұмыс циклінде таба алу мүмкіндігі және редакциялау керек болғанда кодтың физикалық қатарларын программисттердің таба алу мүмкіндігі.

Программаның орындалуы барысында ActionScript интерпретаторының қасиеттері функцияларды табуы функциялар мен айнымалыларды объектілерге кірістіру және объектілерді түрлі кластарға жіктеу арқылы жүзеге асырылады. Мысалы: массивке арналған concat() әдісі (функциясы) және текстілік қатарға арналған concat() әдісі бар. Әрбір жағдайда әдіс класстың ішінде анықталады, сондықтан интерпретациялаушы программа әдісті қайдан іздеу керек екенін біледі және оларды бір-бірімен шатыстырмайды.

Сонымен қатар берілгендерді шолу ережесі бар, ол программаның бір бөлігінің айнымалысы, функция немесе объекті программаның басқа бөлігінде де тікелей «көрінеді». Берілгендерді шолу проблемасынан кодты орталықтандыру арқылы құтылуға болады, яғни кодты бір жерге жинақтау болып табылады (Мысалы: бір кадр көлемінде ғана).

Мысал: unimportant2.fla

_root.HappyPerson.Frame=1; // seed value for rotation

_root.HappyPerson.rotate=5; // rotation in radians

_root.HappyPerson.radian;

/ / / /

// pendulumswing() function

/ / / /

// back and forth pendulum_like motion

// starting rotation should be in approx.range -65 to +65

// (otherwise string is inverted)

_root.happyPerson. pendulumswing=function() {

With (_root.happyPerson) {

// 10 and 5 are “Magic Numbers”, found by experimentation

Rotate2=Math.round((rotate(10+(5*rotate*(Math.abs(Math.cos(radian)))));

This._rotation+=rotate2;

//convert to radians for use with Math.cos

Radian=(Math.PI/180)*(this._rotation);

// true at each extreme of the swing

// wag the tail and reverse direction

If (Math.abs(Math.cos(radian))<.01 {

Frame+=5;

If (frame>20) {frame=1}

This.gotoAndPlay(frame);

Rotate=_rotate; // reverse rotation direction

}

}

}



_root.onEnterFrame=function() {

_root.happyPerson.pendulumswing();


11 Дәріс



Достарыңызбен бөлісу:
1   ...   84   85   86   87   88   89   90   91   ...   107




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет