Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   часы во flash (http://www.flasher.ru/forum/showthread.php?t=55494)

lez 07.03.2004 03:02

часы во flash
 
Подскажите, пожалуйста, как написать мувик, в котором многозначное число будет постоянно увеличиваться и выводиться на экран, то есть что-то типа таймера.
Еще хотелось бы знать, как зделать часы.
А вообще, буду вам очень благодарен, если подскажите какой-нибудь учебник по action script'у.
спасибо.

Ma)( 07.03.2004 12:18

книги
 
ответ на первые два вопроса найдешь в книгах, объяснять кодом слишком долго, все это есть в книгах. Например:
"Flash MX ActionScript Библия пользователя"
авторы: Роберт Рейнхардт и Джой Лотт издательство "Диалектика" 2003 год. Есть и много других книг по FlashMX, смотри на рынках. :p

Master Paleva 07.03.2004 12:20

Среди исходников и уроков можно найти много такой информации.

opex 07.03.2004 14:06

вот те часы
Код:

_root.createTextField("text", 0, 0, 0, 100, 20);
_root.text.border = 1;
_root.onEnterFrame = function() {
        myDate = new Date();
        s = myDate.getSeconds();
        m = myDate.getMinutes();
        h = myDate.getHours();
        _root.text.text = h+" : "+m+" : "+s;
};

вот те таймер
Код:

_root.onEnterFrame = function() {
        trace(getTimer());
};


Jury 09.03.2004 16:55

Вложений: 1
Вот ещё чуть-чуть! :D

Jury 09.03.2004 23:49

А вот и таймер:
freq = 80;
timerStatus = "CLEARED";
div = ":";
clearedText = "0";
enabledAlph = 50;
disabledAlph = 15;
centeredSans14 = new TextFormat();
with (centeredSans14) {
align = "center";
font = "_Sans";
size = 14;
}
leftSans10 = new TextFormat();
with (leftSans10) {
align = "left";
font = "_Sans";
size = 10;
}
function drawBox(targ, colour, x, y, wi, hi) {
with (targ) {
lineStyle(0, 0x000000);
beginFill(colour);
moveTo(x, y);
lineTo(x+wi, y);
lineTo(x+wi, y+hi);
lineTo(x, y+hi);
lineTo(x, y);
endFill();
}
}
function dragClip(clip, pressX, pressY) {
var x = clip._parent._xmouse;
var y = clip._parent._ymouse;
if (x<0) {
x = 0;
} else if (x>stageWi) {
x = stageWi;
}
if (y<0) {
y = 0;
} else if (y>stageHi) {
y = stageHi;
}
clip._x = x-pressX;
clip._y = y-pressY;
updateAfterEvent();
}
function startDragClip(clip) {
startDragClip.clip = clip;
var pressX = clip._parent._xmouse-clip._x;
var pressY = clip._parent._ymouse-clip._y;
clip.onMouseMove = function() {
dragClip(clip, pressX, pressY);
};
}
function stopDragClip() {
startDragClip.clip.onMouseMove = null;
startDragClip.clip = null;
}
function dblClick(intrvl, click2, arg2, click1, arg1, click, arg) {
if (!clickedOnce) {
clickedOnce = true;
dblClickInterval = setInterval(function () {
clickedOnce = false;
clearInterval(dblClickInterval);
click1(arg1);
}, intrvl);
} else {
clickedOnce = false;
clearInterval(dblClickInterval);
click2(arg2);
}
click(arg);
}
function togglePanel() {
if (panel._visible) {
panel._visible = false;
clearInterval(myInterval);
} else {
panel._visible = true;
myInterval = timerStatus == "TICKING" ? setInterval(updateTimer, freq) : null;
}
}
function toggleWindow() {
if (dragbar._visible) {
panel.wasVis = panel._visible;
panel._visible = dragBar._visible=false;
clearInterval(myInterval);
} else {
dragBar._visible = true;
panel._visible = panel.wasVis;
if (timerStatus == "TICKING" && panel.WasVis == true) {
myInterval = setInterval(updateTimer, freq);
}
}
}
function convertMilliseconds(milSecs, div) {
var t = Math.floor(milSecs/100)%10;
var s = Math.floor(milSecs/1000)%60;
if (milSecs>59999) {
s<10 ? s="0"+s : s;
var m = Math.floor(milSecs/60000)%60;
if (milSecs>3599999) {
m = m<10 ? "0"+m : m;
var h = Math.floor(milSecs/3600000);
return (h+div+m+div+s+div+t);
} else {
return (m+div+s+div+t);
}
} else {
return (s+div+t);
}
}
function startTimer() {
start.enabled = false;
start._alpha = disabledAlph;
pause.enabled = clear.enabled=true;
pause._alpha = clear._alpha=enabledAlph;
if (timerStatus == "CLEARED") {
startTime = getTimer();
}
if (timerStatus == "PAUSED") {
totalPause += getTimer()-pauseStart;
}
myInterval = setInterval(updateTimer, freq);
timerStatus = "TICKING";
}
function updateTimer() {
elapsedTime = getTimer()-startTime-totalPause;
timeText.text = convertMilliseconds(elapsedTime, div);
updateAfterEvent();
}
function pauseTimer() {
if (timerStatus == "TICKING") {
pause.enabled = false;
pause._alpha = disabledAlph;
start.enabled = clear.enabled=true;
start._alpha = clear._alpha=enabledAlph;
pauseStart = getTimer();
clearInterval(myInterval);
timerStatus = "PAUSED";
}
}
function clearTimer() {
clear.enabled = pause.enabled=false;
clear._alpha = pause._alpha=disabledAlph;
start.enabled = true;
start._alpha = enabledAlph;
timeText.text = clearedText;
clearInterval(myInterval);
totalPause = 0;
timerStatus = "CLEARED";
}
function makeButton(parnt, naim, dept, colour, alph, wi, hi, x, y, func, nabled) {
var targ = this[naim]=parnt.createEmptyMovieClip(naim, dept);
drawBox(targ, colour, 0, 0, wi, hi);
targ._x = x;
targ._y = y;
targ.onRelease = func;
targ.enabled = nabled;
}
createEmptyMovieClip("StopWatch", 10);
panel = StopWatch.createEmptyMovieClip("Panel", 10);
drawBox(panel, 0xEEEEEE, 0, 0, 110, 70);
panel._y = 15;
dragBar = StopWatch.createEmptyMovieClip("DragBar", 5);
drawBox(dragBar, 0xBBBBBB, 0, 0, 110, 15);
dragBar.useHandCursor = false;
dragBar.createTextField("dragBarTitle", 10, 20, 0, 90, 20);
with (dragBar.dragBarTitle) {
text = "СЕКУНДОМЕР";
setTextFormat(leftSans10);
}
StopWatch.Panel.createTextField("timeText", 20, 10, 10, 90, 20);
timeText = StopWatch.Panel.TimeText;
with (timeText) {
border = true;
borderColor = 0x555555;
selectable = false;
text = clearedText;
backGround = 0xFFFFFF;
setTextFormat(centeredSans14);
setNewTextFormat(centeredSans14);
}
makeButton(panel, "Start", 30, 0x00BB44, 100, 20, 20, 10, 40, startTimer, true);
makeButton(panel, "pause", 40, 0xFFCC00, 100, 20, 20, 45, 40, pauseTimer, false);
makeButton(StopWatch, "Clos", 100, 0xBBBBBB, 100, 15, 15, 0, 0, toggleWindow, true);
makeButton(panel, "clear", 50, 0xFF0000, 100, 20, 20, 80, 40, clearTimer, false);
with (clear) {
lineTo(20, 20);
moveTo(0, 20);
lineTo(20, 0);
}
with (Clos) {
moveTo(4, 4);
lineTo(11, 11);
moveTo(4, 11);
lineTo(11, 4);
}
start._alpha = Clos._alpha=enabledAlph;
pause._alpha = clear._alpha=disabledAlph;
dragBar.onPress = function() {
dblClick(400, togglePanel, arg2, click1, arg1, startDragClip, StopWatch);
};
dragBar.onRelease = dragBar.onReleaseOutside=function () {
stopDragClip();
};
start.onRollOut = start.onDragOut=pause.onRollOut=pause.onDragOut=clear.onRollOut=clear.onDragOut=Clos.onRollOut=Clos.onDragOut=function () {
this._alpha = enabledAlph;
};
start.onRollOver = pause.onRollOver=clearButton.onRollOver=Clos.onRollOver=function () {
this._alpha = 100;
};


Часовой пояс GMT +4, время: 16:59.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.