开启左侧

Flash ActionScript 3.0编写的电子时钟

[复制链接]
空气蛹 发表于 2011-10-8 19:18:07 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
Main
package
{
        import Flash.display.Sprite;
        import flash.events.Event;
        import flash.text.TextField;
        import flash.text.TextFieldAutoSize;

        public class Main extends Sprite
        {
            var shi:Zhen = new Zhen(5,40,0x000000);
            var fen:Zhen = new Zhen(3,80,0x444444);
                var miao:Zhen = new Zhen(1,100,0xFF0000);
                var time:Date;
                public function Main()
                {
                        init();
                }
                private function init()
                {
                        var sprite:Sprite = new Sprite();
                        var biaopan:Circle = new Circle(0,0,135);
                        sprite.addChild(biaopan);
                        for(var i=0;i<12;i++)
                        {
                                var graduation_m:Xian = new Xian(15);
                                graduation_m.rotation = i*30;
                                sprite.addChild(graduation_m)
                        }
                        for(var j = 0; j < 60; j++)
                        {
                                var graduation:Xian  = new Xian(10);
                                graduation.rotation = j*6;
                                sprite.addChild(graduation)
                        }
                        for(var t = 1; t <= 12; t++)
                        {
                                var number:Sprite = new Sprite();
                                var txt:TextField = new TextField();
                                txt.autoSize = TextFieldAutoSize.LEFT;
                                txt.text = String(t);
                                txt.x = -txt.width/2;
                                txt.y = -txt.height/2;
                                number.addChild(txt);
                                number.x = 275 + 110*Math.cos(30*Math.PI*t/180-Math.PI/2);
                                number.y = 200 + 110*Math.sin(30*Math.PI*t/180-Math.PI/2);
                                addChild(number);
                        }
                        sprite.addChild(shi);
                        sprite.addChild(fen);
                        sprite.addChild(miao);
                        sprite.x = 275;
                        sprite.y = 200;
                        addChild(sprite);
                        addEventListener(Event.ENTER_FRAME,Rotation);
                         
                }
                private function Rotation(event:Event)
                {
                        time = new Date();
                        miao.rotation = time.seconds*6;
                        fen.rotation =time.minutes*6;
                        shi.rotation = time.hours*30+time.minutes/2+time.seconds/120;
                }
        }
}

Circle
package
{
        import flash.display.Sprite;
        public class Circle extends Sprite
        {
                public function Circle(xp:int,yp:int,R:uint)
                {
                        init(xp,yp,R);
                }
                private function init(xp:int,yp:int,R:uint)
                {
                        graphics.lineStyle(3,0xFF0000);
                        graphics.drawCircle(xp,yp,R);
                }
        }
}

Xian
package
{
        import flash.display.Sprite;
        public class Xian extends Sprite
        {
                public function Xian(Length:uint)
                {
                        init(Length);
                }
                private function init(Length:uint)
                {
                        graphics.beginFill(0xFF0000);
                        graphics.drawRect(-1,-135,2,Length);
                }
        }
}

Zhen
package
{
        import flash.display.Sprite;
        public class Zhen extends Sprite
        {
                public function Zhen(thick:uint,Length:uint,color:uint)
                {
                        init(thick,Length,color);
                }
                private function init(thick:uint,Length:uint,color:uint)
                {
                        graphics.lineStyle(thick,color);
                        graphics.moveTo(0,0);
                        graphics.lineTo(0,-Length);
                }
        }
}
还望各位高手、大侠指正!
参与人数 1金钱 +30 收起 理由
etthink + 30

查看全部评分总评分 : 金钱 +30

欢迎大家多发帖,参与讨论,增进彼此了解。

精彩评论3

正序浏览
etthink 发表于 2011-10-8 19:33:39 | 显示全部楼层
很感谢有人发这个,不过这里人都不太了解As3.0所以从零开始比较好,加点注释

点评

呵呵,这个不懂啊,不过很感谢让这个比较沉默的版块有了生机,希望大家顶啊。  详情 回复 发表于 2011-10-8 20:18
欢迎大家多发帖,参与讨论,增进彼此了解。
红筹 发表于 2011-10-8 20:18:55 | 显示全部楼层
etthink 发表于 2011-10-8 19:33
很感谢有人发这个,不过这里人都不太了解As3.0所以从零开始比较好,加点注释

呵呵,这个不懂啊,不过很感谢让这个比较沉默的版块有了生机,希望大家顶啊。
做好自己!
godfrey 发表于 2011-10-8 21:44:40 | 显示全部楼层
深奥
欢迎大家多发帖,参与讨论,增进彼此了解。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

推荐阅读更多+
会员达人更多+
广告位

最新信息

更多+

关注我们:教育技术人

官方微信

官方微博

教育技术热线:

13955453231

学教育技术,上教育技术论坛!

教育技术论坛征稿范围:教育技术应用案例、教程文章、优秀作品等。

Email:sf@etthink.com

Copyright   ©2007-2026  应用思考-教育技术论坛  Powered by©Discuz!  技术支持:且行资源    ( 皖ICP备10014945号-4 )