19-07-2007, 22:41
|
|
|
חבר מתאריך: 19.07.07
הודעות: 5
|
|
שעון ספירה לאחור עם הפסק/המשך
הבעיה היא יש לי שעון שמקבל זמן התחלתי ומתחיל לספור ממנו למטה כאשר הוא מגיע לאפס הוא מתחיל
לספור כלפי מעלה, וכן יש לו שכפתורים pause/play .
שתי בעיות :
א. כאשר אני לוחץ על הפסק אומנם ויזואלית הוא עוצר אך ברגע שאני לוחץ הפעל הוא מציג לי זמן רחוק יותר ,כאילו הוא ממשיך ברקע לעבוד כמובן מדדתי את זמן השהיה והפחתתי מזמן החזרה.
ב. כאשר יש כפיצה מספירה למטה ללמעלה , כמובן אפש באמצע יש delay של שתי שניות.
החלק הרלוונטי בקוד:
_root.MyPlay._visible = 0;
//
function pause() {
pauseTime = getTimer()/1000 + (1*10*1000);
boolCount=0;
}
//
function unpause() {
unpauseTime = getTimer()/1000 + (1*10*1000);
pauseLength = (unpauseTime-pauseTime)+pauseLength;
boolCount=1;
}
boolCount=1;
MySrop.onPress = function() {
pause();
MySrop._visible = 0;
MyPlay._visible = 1;
}
MyPlay.onPress = function() {
unpause();
MySrop._visible = 1;
MyPlay._visible = 0;
}
currentDate = new Date();
thisYear = currentDate.getFullYear();
eventDate = new Date();
eventMillisecs = eventDate.getTime()+(1*10*1000)-pauseLength;
stop();
counter.onEnterFrame = function()
{
if (boolCount)
{
currentDate = new Date();
currentMillisecs = currentDate.getTime()-pauseLength;;
this.msecs = eventMillisecs - currentMillisecs;
if (this.msecs <= 0){
this.msecs*=(-1);
}
this.secs = Math.floor(this.msecs/1000); // 1000 milliseconds make a second
this.mins = Math.floor(this.secs/60); // 60 seconds make a minute
this.hours = Math.floor(this.mins/60); // 60 minutes make a hour
תודה רבה
_____________________________________
יניב שמואל,
BndSites.com
|