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");
} } }

[AIR] AS3.0设置屏保功能的更多相关文章

  1. [ActionScript 3.0] AS3.0 涂鸦及擦除功能,撤销重做步骤记录实例

    package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMo ...

  2. as3.0划线带撤销功能

    package com{ import flash.display.MovieClip; import flash.display.SimpleButton; import flash.events. ...

  3. 3D屏保:魔方2.0版本

    一个三维魔方的屏保软件,可支持2级到72级的魔方.启动后魔方会自动旋转,并最终回到初始状态.有很多人问我这是怎么做到的,用的什么解魔方的算法,其实我自己根本就不会玩魔方,别人用技巧解魔方,我这程序中用 ...

  4. 取消Debian屏保及显示器休眠

    在产品展示场合,屏保及休眠会带来不好的体验,很多时候需要关闭掉. dpms显示器休眠设置: 开启:$ sudo xset dpms 1 1 2取消:$ sudo xset -dpms xset设置屏保 ...

  5. 3D屏保: 线圈

    LineFlower3DSP 一个3D屏保程序,算法的原理类似于圆内轮旋线的生成. 下载地址: http://files.cnblogs.com/WhyEngine/LineFlower3D_sp.z ...

  6. 3D屏保:排色榜

    3D屏保:排色榜 排色榜,是一个针对图形学中的色彩进行排序的DEMO,这里的色是色彩的意思,看成别的点进来的同学请自觉面壁.该DEMO可以按RGB,GBR,BRG,灰度值四种方式进行排序.排序算法为冒 ...

  7. 3D屏保:N皇后

    前几天园子里有人发表关于8皇后的算法.只有代码,没有能运行的DEMO多枯燥.于是我这两天抽时间写了个N皇后的屏保程序.程序启动后会从4皇后到14皇后显示其所有排列,每隔0.5秒自动切换一次.按下空格键 ...

  8. 屏保:画线圈LineFlower

    LineFlowerSP 小时候玩过一种画线圈的玩具,将一个圆形齿轮在一个大圈里转,会画出各种图形来.这个程序就是模仿它做的.算法原理:将一个圆围绕着另一个大圆公转,并且它还做自转运动.那么圆内一点的 ...

  9. 3D屏保: 彩色盘子

    一个彩色盘子的屏保 记得小时候在电视上看过一个科普节目,由多个颜色组成的盘子,如果快速旋转起来,会看上去是白色的.于是我就写了这个屏保程序,但发现在计算机上模拟并不是这样的. "RollPl ...

随机推荐

  1. CSS3盒模型之box-sizing

    这些天在做一个手机端的页面,遇到了一些问题!首当其冲的就是盒子的溢出问题!大家都知道,手机的尺寸各异,各种型号的手机多得能闪瞎你们的眼睛,为了能 让这些设置更好的浏览我们的页面,我们已经不能固定页面的 ...

  2. 关于CSS Hack

    CSS Hack由于不同厂商的浏览器,如Internet Explorer,Safari,Mozilla Firefox,Chrome 等,或者是同一厂商的浏览器的不同版本,如IE6和IE7,对CSS ...

  3. 一步一步理解Paxos算法

    一步一步理解Paxos算法 背景 Paxos 算法是Lamport于1990年提出的一种基于消息传递的一致性算法.由于算法难以理解起初并没有引起人们的重视,使Lamport在八年后重新发表到 TOCS ...

  4. 7 款开源 Java 反编译工具

    今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在 ...

  5. [转]js中获取时间的函数集

    $(function(){ var mydate = new Date(); var t=mydate.toLocaleString(); $("#time").text(t); ...

  6. Mdrill:来自阿里的多维快速查询工具

    mdrill是阿里妈妈-adhoc-海量数据多维自助即席查询平台下的一个子项目.旨在帮助用户在几秒到几十秒的时间内,分析百亿级别的任意维度组合的数据.mdrill是一个分布式的在线分析查询系统,基于h ...

  7. [你必须知道的.NET]第一回:恩怨情仇:is和as

    本文将介绍以下内 容: • 类型转换 • is/as操作符小议 1. 引言 类型安全是.NET设计之初重点考虑 的内容之一,对于程序设计者来说,完全把握系统数据的类型安全,经常是力不从心的问题.现在, ...

  8. isa class 帮助确定对象或变量的数据类型

    isa class 帮助确定对象或变量的数据类型

  9. get utc+8 当时时间

    /// <summary> /// get utc+8 当时时间 /// </summary> /// <returns></returns> publ ...

  10. Java 提示 JRE unbound 或者 Tomcat unbound 解决方法

    解决步骤 1.右键你的项目>>build path>>config build path 2. 选中显示 unbound的 Libraries >>Edit 如下图 ...