个性化的用户可自定义的倒计时器通过flash / actionscript

时间:2013-09-26 16:17:18

标签: actionscript-3 flash

说实话,我没有flash的经验。所以如果有人能指出我必要的方向。那太好了。我的任务是建立一个倒数计时器,其中包含可在http://www.online-stopwatch.com/找到的所有功能 您可能会争辩说,为什么我不使用我提供的链接中找到的那个,但我的任务是创建一个背景和布局的个性化的,与链接中的完全不同。

我看了一些教程,但没有人能指出我需要的方向。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

这不是一个可以在一个答案中回答的问题,它更像是你需要完全学习动作脚本3.0然后用这些知识编写这个程序。 Here是一本书的链接,我发现它非常适合学习动作脚本3.0和Flash。如果您不想学习有关action-script 3.0的所有内容,那么请考虑查看有关它的基础知识的教程,然后专门查看Timer类。如果你想要一个包含所引用网站所有内容的好程序,那么你应该只阅读Essential Actin脚本3书,但是如果按时间你可以快速学习基础知识并尝试将某些东西放在一起,但它不会很好。

答案 1 :(得分:0)

通常关于SO的问题显示没有尝试OP的部分来解决他们的问题会得到很少的关注,但我碰巧有这个帮助别人用它,所以你很幸运!我无法帮助你学习如何使用Flash本身,这就是你需要的逻辑。

以下课程应该照顾你要找的东西:

myClockMC 是一个动画片段,其中包含五个文本字段,天,小时,分钟,秒和毫秒。 您可能需要调整此类中的名称和路径,以使其与您的构造一起使用。

使用此签名实例化:

var myClock:CountdownClock = new CountdownClock( myClockMC, 2014, 8, 20 );


package
{
    import flash.display.MovieClip;
    import flash.events.Event;

    public class CountdownClock extends MovieClip
    {
        public function CountdownClock( clip:MovieClip, targetMonth:Number, targetDay:Number, targetYear:Number )
        {
            trace('new CountdownClock');

            addEventListener( Event.ENTER_FRAME, update );
        }

        private function update( evt:Event ):void
        {
            var date:Date = new Date();
            var targetDate:Date = new Date( targetYear, targetMonth, targetDay );
            var currentYear:Number = date.getFullYear();
            var currentTime:Number = date.getTime();
            var targetTime:Number = targetDate.getTime();
            var diff:Date = new Date( targetDate - date );

            var timeLeft:Number = targetTime - currentTime;
            var millSecs:Number = diff.getMilliseconds();
            var seconds:Number = Math.floor(timeLeft / 1000);
            var minutes:Number = Math.floor(seconds / 60);
            var hours:Number = Math.floor(minutes / 60);
            var days:Number = Math.floor(hours / 24);

            seconds = String(seconds % 60);
            if (seconds.length < 2)
            {
                seconds = "0" + seconds;
            }

            minutes = String(minutes % 60);
            if (minutes.length < 2)
            {
                minutes = "0" + minutes;
            }

            hours = String(hours % 24);
            if (hours.length < 2)
            {
                hours = '0' + hours;
            }

            days = String(days);
            if (days.length < 2) 
            {
                days = '0' + days;
            }

            clip.daysWindow.text = days;
            clip.hoursWindow.text = hours;
            clip.minutesWindow.text = minutes;
            clip.secondsWindow.text = seconds;
            clip.millSecsWindow.text = millSecs;

            if(days == '00' && hours == '00' && minutes == '00' && seconds == '00')
            {
                updateAfterReachingDate( clip );
            }
        }

        private function updateAfterReachingDate( mc:MovieClip ):void
        {
            removeEventListener( Event.ENTER_FRAME, update );

            // handle timer target reached
        }
    }
}