Archive for януари, 2007

„Джуркащ“ се текст

0 Comments

"ScrambleText" е елементарен AS2 клас, които изписва подадения му String в текстово поле разбъркано и след това го нарежда. (По скоро би се превел като "Разбъркан текст" но някакси изпитвам големи симпатии към тая дума "джуркащ се" и реших да я използвам, но както и да е ...)

Интересен е може да се доразвие :) оставям експериментите за вас ;)

Ето и пример как се ползва:

Tags:

AS3 – Пакетиране

0 Comments

Ако се занимавате с писане на класове, в AS3 ще забележите, че всяко дефиниране на нов клас започва с ключовата дума "package" (пакет) и след това следва самото дефиниране на класът.
В AS3 всички класове ТРЯБВА да бъдат поставени вътре в такъв "package":

Какво всъщност е package (пакет)? Package(Пакетите) е просто начин да се организират класовете (от сходното съдържание)в групи. Това е синоним на com.xxx.yyy нотацията и е също синомим на указването на пътя във файловата система. Например аз указвам следния пакет:

Това ще рече че пакета с класът съществува в тази директория "com" което е релативен път от нашия .fla файл. Същото прилагаме на примера по долу:

В този случаи класът сще съществува в суб директорията "lah" вътре в папката "com". Каква е целта да ползвамe т.нар "пакетиране" ? Целта е просто да организираме по добре своите класове и да избегнем конфликти между класовете. Да кажем примерно, че имате два класа с еднакви имена които са отговорни за извършването на различни дейности. Да вземем пример с login система която има 2 типа юзъри - учители и студенти. Аз бих искал да "пакетирам"(package) всички мои операции свързани с учителите в пакет с име com.lah.teachermgmt и свързани със студентите с име com.lah.studentmgmt. Считайки това че login механизма за студенти и учители е различен бих искал да имам два LoginManager класа, един в пакет com.lah.teachermgmt и още един в com.lah.studentmgmt. В този случай, аз мога да имам 2 класа с еднакви имена но в различни пакети. Според конвенцията, имената на пакетите винаги е с малки букви противно на имената на класовете които започват винаги с главна буква. Пример на употреба:

Име на файла :

Filename : Example.fla import com.lah.*;
// за да импортнете всички класове от директорията com.lah можете да ползвате командата import
// com.lah.Example; за да импортнете само един клас от тази директория.

var myExample:Example = new Example(); //трейсва "Example"

Timer класът в Actionscript 3

0 Comments

Timer класът е нов във AS 3.0. Той е подобен на setInterval функцията в AS 2.0 но има доста повече възможности и е по гъфкав. Една от възможностите му е да бъде спиран и пускан когато ни е нужен. Timer класът в AS 3.0 се държи малко по различно от setInterval извикан в AS 2.0.

Той изпълнява някаква зададена му функция или деиствия на точно определен интервал(този интервал се дефинира когато дефинираме самия timer клас). Както и в случая със setInterval при които се определя интервал през които да бъде изпълнявано някакво събитие. Timer класът е част от flash.utils package и трябва да бъде импортнат преди да бъде използван. Декларирането на импортването му изглежда така:

Както споменах по-рано Timer класът има състояния асоциирани с него които се наричат "TimerEvent". TimerEvent класoвете се намират в flash.events package и ако TimerEvent се използва, то трябва и те да се импортнат преди да се използват.

Една от главните различки между Timer и setInterval, е това, че Timer има "екстра"(extra) параметър които указва колко пъти Timer класът трябва да изпълни зададеното му действие/функция. Ако искате действията да се изпълняват безкрайно то задавате стойност 0. За да прикрепите слушател(listener) към Timer класът и да слушате за неговите TimerEvent-и кода ви ще изглежда така:

Примерен код:

Друга полезна възможност съществуваща в Timer класът е:
"currentCount" - Връща като резултат колко пъти се е изълнил до момента Timer от момента в които е стартиран от нула.
"repeatCount" - Връща като резултат колко пъти е зададено да бъде изпълнен класът.
"running" - Връща като "true"ако в момента се изпълнява и "false" ако е спрян.
"delay" - Връща интервала през които сме задали да се изпълнява, също така може да бъде задаван в процес на изпълнение на Timer.

Други два метода на Timer класът които примера по горе не споменава са:
stop() - Спира изпълнявания в момента Timer.
reset()
- Нулира текущо изпълнявания timer и той започва да брои отново от нула.

Други състояния които са асоциирани с TimerEvent са:
TimerEvent.TIMER_COMPLETE - Това състояние се изпълнява когато timer-а е свършил своето изпълнение и може да бъде ползвано по следния начин:

Ами това е за Timer класът :) ако имате някакви забележки, или имате с нещо да допълните статията моля пишете. Дано като цяло е било полезно за някои.

Go Action GO !

0 Comments

Здравейте читатели на моят малък (за сега) блог, тематиката му ще е свързана с програмиране, дизайн и анимация под flash. Когато имам какво да споделя или напиша ... ще го правя с удоволствие :) макар, че времето рядко ми стига за такива неща ще се постарая да обновявам поне два три пъти в месеца.