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. 利用zip(或者phar)协议进行本地文件包含

    $include_file=$_GET[include_file];if ( isset( $include_file ) && strtolower( substr( $includ ...

  2. ABBYY 识别结果的文档怎么导出

    使用ABBYY FineReader Pro for Mac OCR文字识别软件识别文档时,识别结果可以保存至一个文件.复制到剪贴板或通过电子邮件发送.可以执行下列操作:导出整个文档.仅导出所选页面. ...

  3. SmartDo数据挖掘思路

    SmartDo数据挖掘思路 数据挖掘部分: 数据挖掘的主要网址为: https://www.amazon.com/Best-Sellers/zgbs 挖掘部分为网址左边的入口,大约20多个,其中页面分 ...

  4. C# .NET MVC 接收 JSON ,POST,WCF 无缝隙切换

    用来与HTTP 模式的WCF 无缝隙切换. 服务端是MVC. 在Home/About 上面加 [HttpPost].读取Request.InputStream 中所有内容.然后返回JSON给客户端:r ...

  5. visual studio 编译时 出现 Files 的值 乱码

    参考了:http://blog.163.com/jiang_tao_2010/blog/static/121126890201031031337332/ 最近在做程序时,在生成解决方法过程中,电脑出现 ...

  6. Redis桌面管理工具 RedisDesktopManager

    下载链接地址:[官网地址:https://redisdesktop.com] redis-desktop-manager-0.8.8.384.exe Source code (zip) Source ...

  7. JDBC的URL设置allowMultiQueries的原因

    如下的一个普通JDBC示例: String user ="root";String password = "root";String url = "j ...

  8. 关于windows下c/c++的rand()的一个测试

    ,,,}; ,-,,}; ,y=; ;t<<<;t++){ ; x+=xs[d];y+=ys[d]; 在(x,y)绘制一个点; } 根据rand()%4的值决定点的移动方向,生成图像 ...

  9. Python控制流语句(if,while,for)

    if.py number=23 guess=int(input("enter an int:")) if guess==number: print ("congratul ...

  10. Python 共享和上传函数模块到PyPI

    1. register account by brower on https://pypi.python.org/pypi/ 2. register your moudle "nester& ...