zoukankan      html  css  js  c++  java
  • [AIR] AS3.0设置屏保功能

    package com.controls
    {
        import flash.desktop.NativeApplication;
        import flash.events.Event;
        import flash.events.EventDispatcher;
        import flash.events.IEventDispatcher;
        
        /**
         * @author:Frost.Yen
         * @E-mail:871979853@qq.com
         * @create:    2016-6-21 下午3:24:57
         *
         */
        public class ScreenSaver extends EventDispatcher
        {
            static public const START_SAVER:String = "start_saver";
            static public const QUIT_SAVER:String = "quit_saver";
            public function ScreenSaver(target:IEventDispatcher=null)
            {
                super(target);
            }
            public function set scrrenSaverTime(value:Number):void 
            {
                NativeApplication.nativeApplication.idleThreshold = value;
                NativeApplication.nativeApplication.addEventListener(Event.USER_IDLE, handleUserIdle);
                NativeApplication.nativeApplication.addEventListener(Event.USER_PRESENT, handleUserPresent);
            }
            /**
             * 当用户处于空闲状态的时间长度达到 idleThreshold 属性指定的时间时调度。
             */
            private function handleUserIdle(e:Event):void 
            {
                //开始屏保
                this.dispatchEvent(new Event(START_SAVER));
                trace("鼠标离开了多少秒", NativeApplication.nativeApplication.timeSinceLastUserInput);
            }
            
            /**
             * 当操作系统在空闲一段时间后检测到鼠标或键盘活动时调度。
             */
            private function handleUserPresent(e:Event):void 
            {
                //退出屏保
                this.dispatchEvent(new Event(QUIT_SAVER));
                
            }
        }
    }

    用法:

    package  
    {
        import com.controls.ScreenSaver;
        import flash.display.Sprite;
        import flash.events.Event;
        
        /**
         * ...
         * @author FrostYen
         */
        public class Main extends Sprite 
        {
            private var _saver:ScreenSaver;
            public function Main() 
            {
                _saver = new ScreenSaver();
                _saver.scrrenSaverTime = 0.5;
                _saver.addEventListener(ScreenSaver.START_SAVER, onStartSaver);
                _saver.addEventListener(ScreenSaver.QUIT_SAVER, onQuitSaver);
            }
            
            private function onStartSaver(e:Event):void 
            {
                trace("start_saver");
            }
            
            private function onQuitSaver(e:Event):void 
            {
                trace("quit_saver");
            }
            
            
        }
    
    }
  • 相关阅读:
    【转】JS模块化工具requirejs教程(二):基本知识
    【转】JS模块化工具requirejs教程(一):初识requirejs
    【转】批处理命令 For循环命令详解!
    【转】NodeJS教程--基于ExpressJS框架的文件上传
    【转】WebSocket 是什么原理?为什么可以实现持久连接?
    网页工具地址
    【转】DataURL在Web浏览器中的兼容性总结
    侯捷STL学习(一)--顺序容器测试
    strstr-strcat实现
    算法设计与分析
  • 原文地址:https://www.cnblogs.com/frost-yen/p/5603912.html
Copyright © 2011-2022 走看看