Как да си направим флаш таймер
1. Отваряме нов документ на Action Script 2.0
2. Сцената ни ще е с размер 250х200 рх.
3. Създавате текстово поле с помощта на Text Tool (T). След като създадете полето то трябва да бъде с
Var - timer_txt.Също така текстовото поле трябва да бъде
Dynamic Text.
4. Ако не ви се правят бутони може да си вземете готови от
Window->Common Libraries->Buttons.
- От там си избирате
playback buttons и по ваш избор взимате един бутон
Play един бутон
Stop и един бутон
Pause:
5. След което на бутона Play давате Instance name = play_btn
- На бутона Stop Давате Instance name = stop_btn
- И на бутона Pause давате Instance name = pause_btn
ЗАБЕЛЕЖКА: Ако не знаете къде се намира мястото за задаване на Instance name, можете да го видите тук:
6. Дотук работихме на Layer 1. Сега направете нов слой, за да сложим кода.
- Така трбва да изглежда слоя след като сте добавили кода а той е следният:
//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)