Помогни ни да направим Uroci.net по - богат! Добави урок

Как да си направим флаш таймер

d0brin   трудност:    видян: 15075


1. Отваряме нов документ на Action Script 2.0

уроци - u1.JPG

2. Сцената ни ще е с размер 250х200 рх.

3. Създавате текстово поле с помощта на Text Tool (T). След като създадете полето то трябва да бъде с Var - timer_txt.Също така текстовото поле трябва да бъде Dynamic Text.



4. Ако не ви се правят бутони може да си вземете готови от Window->Common Libraries->Buttons.

уроци - u3.JPG

- От там си избирате playback buttons и по ваш избор взимате един бутон Play един бутон Stop и един бутон Pause:

уроци - u4.JPG
 
5. След което на бутона Play давате Instance name = play_btn
- На бутона Stop Давате Instance name = stop_btn
- И на бутона Pause давате Instance name = pause_btn

ЗАБЕЛЕЖКА: Ако не знаете къде се намира мястото за задаване на Instance name, можете да го видите тук:
 
уроци - u6.JPG
 
6. Дотук работихме на Layer 1. Сега направете нов слой, за да сложим кода.

уроци - u7.JPG

- Така трбва да изглежда слоя след като сте добавили кода а той е следният:

//initial variables
var timing:Boolean = false;
var paused:Boolean = false;
var remaining:Number;
var elapsedTime:Number;
var elapsedHours: Number;
var elapsedM:Number;
var elapsedS:Number;
var elapsedH:Number;
var startTime:Number;
var remaining:Number;
var hours:String;
var minutes:String;
var seconds:String;
var hundredths:String;
_root.play_btn.onPress = function() {
if(!_root.timing) {
if (_root.paused) {
_root.startTime = getTimer() - _root.elapsedTime;
} else {
_root.startTime = getTimer();
}
//start timer
_root.paused = false;
_root.timing = true;
}
}
_root.stop_btn.onPress = function() {
//stop the timer
_root.timing = false;
//reset the paused variable
_root.paused = false;
//reset the display textbox
_root.timer_txt = "00:00:00:00";
}
_root.pause_btn.onPress = function() {
//only pause if the timer is actually going
if(_root.timing) {
_root.timing = false;
_root.paused = true;
}
}
_root.onEnterFrame = function() {
if (timing) {
//calculate values
elapsedTime = getTimer()-startTime;
//hours
elapsedHours = Math.floor(elapsedTime/3600000);
remaining = elapsedTime-(elapsedHours*3600000);
//minutes
elapsedM = Math.floor(remaining/60000);
remaining = remaining-(elapsedM*60000);
//seconds
elapsedS = Math.floor(remaining/1000);
remaining = remaining-(elapsedS*1000);
//hundredths
elapsedH = Math.floor(remaining/10);
//output to text box
//add a 0 on the front of the numbers if the number is less than 10
if (elapsedHours<10) {
hours = "0"+elapsedHours.toString();
} else {
hours = elapsedHours.toString();
}
if (elapsedM<10) {
minutes = "0"+elapsedM.toString();
} else {
minutes = elapsedM.toString();
}
if (elapsedS<10) {
seconds = "0"+elapsedS.toString();
} else {
seconds = elapsedS.toString();
}
if (elapsedH<10) {
hundredths = "0"+elapsedH.toString();
} else {
hundredths = elapsedH.toString();
}
_root.timer_txt = hours+":"+minutes+":"+seconds+":"+hundredths;
}
};


Ето така трябва да изглежда и крайният резултат:





Коментари (5)

lokosa на 13.10 2007 в 19:28ч.
Абе брато нещо аз ли не разбирам или нещо урока не е както тряа. Нещо не мога да го напражя тоя готин таймер. Къде да го напиша тоя код?
d0brin на 20.10 2007 в 14:53ч.
Значи кода трябва да го добавищ във новия layer,layer 2 цъкаш на leyr 2 fram 1 и натискаш f9 за actionscript panel и там пишеш кода :P
toshiro на 29.11 2007 в 15:02ч.
Това не е таймер, а хронометър.
Block4o на 05.09 2008 в 08:11ч.
пиша го тва във ф9 и нищо не стаа
alllks на 29.11 2009 в 16:55ч.
Аз пък нищто не схванах

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com