Кодты жүйелеу және орталықтандыру
Қол жеткізуді қамтамасыз етудің екі аспектісі бар: интерпретациялаушы программаның қасиеттері функция және айнымалыларды жұмыс циклінде таба алу мүмкіндігі және редакциялау керек болғанда кодтың физикалық қатарларын программисттердің таба алу мүмкіндігі.
Программаның орындалуы барысында 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 Дәріс
Достарыңызбен бөлісу: |