Флаш променливи и техните употреби
Все по-трудно ми е да измислям нови теми за уроци, дори не знам колко още мога да направя, но ако четете това, това означава, че все пак съм измислил нещо.
Когато за първи път започнах да изучавам Flash, не ми беше напълно ясно за какво служат променливите и как наистина могат да се използват на практика. Ако това все още не ви е ясно, прочетете този урок и се надявам, че ще разберете всичко. Както обикновено, ще направим видео, което ще демонстрира работата на променливите. Представете си, че трябва да направите три бутона. Когато щракнете върху някой от тях, текстът се появява плавно, а когато щракнете върху който и да е друг бутон, този текст изчезва плавно и на негово място постепенно се появява друг. Как да накарате програмата да „познае“ какъв текст е бил предишният на екрана? Можете да използвате променливи за това. Нека направим този ефект.
Създайте нов видеоклип. Създайте три слоя в него. Назовете първото „действие“, второто „бутони“ и третото „текстове“. В слоя 'buttons' поставете три бутона с имена 'but1', 'but2' и 'but3' (няма значение кой). Сега създайте три символа за видеоклип, наречени „text1“, „text2“ и „text3“ и поставете текстовете си там. За всеки текст направете motion tween, така че да се появява плавно и да изчезва също толкова плавно. Позиционирайте ключовите кадри, както е показано на фигурата.
Игнорирайте действията засега, ще се върнем към тях по-късно. В първия кадър на всеки филм - текст, самият текст трябва да е невидим (алфа=0). След като всички текстове са готови, поставете ги на основната сцена и ги наименувайте „текст1“, „текст2“ и „текст3“. Сега, когато всички графики са готови, нека започнем да правим скриптове. На главната сцена, в слоя „действия“, поставете следното действие:
Тук обявявамепроменливи и им присвоете стойности. Сега да преминем към бутоните: Присвоете следното „действие“ на първия бутон:
Тук, в зависимост от стойността на променливата 'iold', задаваме 'изчезването' на съответния текст и за да покажем текста на този бутон от самото начало, проверяваме дали стойността на 'iold' е равна на нула. След това предаваме новите стойности на променливите „i“ и „iold“. На другите бутони действията ще бъдат почти същите.
Действие за втория бутон:
И действието за третия бутон:
Но тези действия само „изпаряват“ текстовете и се нуждаем и от последващата им поява. Отидете на редактиране на текстовите знаци (сега говорим за знака 'text1') и задайте следните действия:
Действие за първия кадър на символа 'text1':
=================================- stop (); _root.i = 1; ================================- Това ще попречи на произволното възпроизвеждане на клипа и ще зададе стойността на променливата 'i'.
В рамка 15 също поставете стоп, така че текстът да спре, когато изчезне напълно. Сега трябва да уведомим програмата какъв текст да "показва", след като текущият текст изчезне. За да направите това, в последния кадър на знака 'text1' поставете следното действие:
=======================- if (_root.i == 2) _root.text2.gotoAndPlay(1); > else if (_root.i == 3) _root.text3.gotoAndPlay(1); > ======================- Тези редове проверяват текущата стойност на променливата 'i' и в зависимост от резултатите се възпроизвежда подходящият знак. За другите герои действията ще бъдат приблизително същите, само имената ще се променят. Само действието 'stop();' ще бъде общо за кадър 15 от всеки символ. Ето и останалите стъпки:
Действие за първия кадър на символа 'text2':
Действие за последния кадър на символа 'text2':
действиеза първия кадър на знака 'text3'
и действие за последния кадър на символа 'text3':
Както можете да видите, само имената и стойностите на променливите се променят. Сега можете да пуснете клипа и да видите какво се е случило.