屏保程序对信息推送的研究

2017-11-20 17:13耿英保胡继礼谭红春谷宗运
电脑知识与技术 2017年26期

耿英保+胡继礼+谭红春+谷宗运

摘要:在信息化时代的今天,计算机利用率可谓是有增无减,由此就会延伸到如何更好地保护计算机以延长计算机的使用寿命,那么首当其冲的便是屏幕保护程序。屏幕保护程序不仅可以保护显示器,延长显示器的使用寿命,还可以保护个人隐私并且进行信息的交流与推广。屏幕保护程序是在windows操作系统下开发出来的,主要是采用的是html5技术和JS技术,然后在页面上表现出来的一种小巧但是有趣的屏幕保护程序。并且伴随着用户需求的不断提高,本软件还可升级、移植、继续开发,以满足用户的多种需要。

关键词:图片碰撞;超文本标记语言;JavaScript

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)26-0079-03

1 功能需求

根据屏幕保护功能的分析,要求该程序应该安装简洁无赘余,并且不耗电,不存在携带具有危险性的软件。最重要的是可以利用图片,影视频进行信息的推送。

2 设计步骤

2.1 程序模块总体设计

根据需求分析和用户的实际需求,得出程序的主要功能模块有:重新演示模块、停止演示模块、更换背景模块。重新演示模块即是图片开始运动,是图片运动的全部过程;停止演示模块,顾名思义就是图片停止运动,在我们开始使用计算机时就可以点击这个按钮;更换背景模块就是更换图片运动的背景图片。

2.2 程序结构设计

程序模块化的设计是根据顺序从上到下,去将一个复杂的问题化繁为简,由一层的软件系统模块的过程分为多个层次,每个模块完成后,所有的功能模块和整个系统的全部功能整合到一起,形成一个完整的软件,软件通过模块化的思想来使有个复杂的软件系统简单化,并且使得系统更容易被维护,对于软件开发者来说,更是提高了软件的可读性,加快了软件开发地效率,降低了开发地成本。

3 程序的实现

3.1 编写所需要的工具

在对图片碰撞屏保程序的编写中主要利用EditPlus文字编辑器,它是一个非常好用的HTML编辑器,在EditPlus中设计网页和编辑一个文档没什么两样。单击”File””New””HTMLPage”,就可以直接打开HTML页面编辑器窗口,使用它所提供的工具就可以直接进行网页的编辑。如下图:

3.2 JavaScript简介

JS是运行在客户端的脚本语言,主要目的是为了降低对服务器端的依赖,简单的处理可以直接在客户端进行验证完成。它的本质是一种脚本语言,其源代码在发往客户端运行之前不需经过编译,是将文本格式的字符代码发送给浏览器由浏览器解释运行。[3]

本文还利用到了HTML5,HTML5是跨平台的,不需要一定运行Windows或者Mac OS X或者Linux或者Multics或者其他任何特定的操作系统,即可享受HTML5的优势,唯一需要的就是一个现代的浏览器。[4]其中每一个HTML文档都必须以doctype元素开头,浏览器据此得知自己将要处理的是HTML内容,即使省略doctype元素,大多数浏览器仍能正确显示文档内容,只不过依赖浏览器的这种表现不是好习惯。[4]

3.3 网页与Javascript相连

在实际编程过程中,除了对语言的掌握,还要了解如何联合网页,一般有如下两种方法:

1) 直接加入HTML文档

2) 引用方式

我们如果要想提升屏幕保护程序中代码的利用率,那就可以采用一种简单而有效的方式,那就是在已经存在JS的头文件中使用。基本格式如下:

上述语句中的url就是我们编写的程序文件的地址,相同道理的,像上文如此的语句可以放在HTML文档头部或主体的任何部分。

3.4 图片运动实现

JavaScript由非常强大的对象字面量表示法,通过列出对象的组成部分,它们就能简单地被创建出来。[5-6]

1) 6个图片就是6个ball;

2) 碰屏幕边界反弹功能的设置,我们可以定义两个参数变量,分别为vx、 vy;除此以外,我们还要设置一个弹力变量,可以用bounce表示,而且它是一个负值。我们可以运用这几个参数来实现图片移动方向的改变。例如,当图片碰到屏幕边界时,我们可以将vx 、vy分别乘以弹力变量bounce,这样我们就可以改变图片的运动方向了;

3) 这篇代码最有价值的地方就是如何实现图片相碰后即刻反彈开来。在这个部分,我们要设置一个变量用来表示两个图片的圆心距离,可以用dist这个字母表示。图片相撞反弹原理可以简单点地用代码来表示,就是说,在 dist小于两个图片半径之和的时候,程序会令图片改变原先的运动方向,这样就实现了反弹;

4) 屏幕保护程序中需要一个Screen类,在这个类的构造函数中中我们可以解决小图片在移动、碰撞的时候需要的各种参数,例如ballsnum、spring、bounce、gravity、diameter等;然后我们可以再用之前定义的原型,prototype给出所需要的相应的函数,例如有创建图片的函数,我们可以用creatBalls表示;有图片碰撞的函数,用hitBalls这个单词来表示;有图片移动的函数,用一个简单的单词move来表示。最后的最后我们只需要给每个函数再添加一些它们必需的相应的功能,然后就可以实现图片的各种运动了。

本程序使用的是直接将Javascript插入HTML中,基本过程如下:首先要将图片的各种属性,比如图片的直径、重力等进行赋值以及申明,接着点击重新演示,图片开始运动,接着侦查图片是否碰到图片或者是墙壁(图片发生反弹)。点击停止检测,图片运动就会停止。点击更换背景,屏保就会更换原先已经保存好的背景。主要代码如下:endprint

3.4.1 图片初始位置

以下代码是对图片的初始位置进行定义:首先创建图片creatBalls的函数,然后在函数里给定各种图片运动、碰撞所用到的属性变量。

3.4.2 图片运动

以下代码是对图片运动的编写:首先创建图片移动move的函数,然后是检测图片是否和壁碰撞,选择是反弹还是继续运动的代码。

3.4.3 检测是否碰撞

以下代码是对图片碰撞的编写:首先创建图片碰撞的函数hitTest,然后根据两图片圆心距的长度来实现图片的碰撞反弹,具体代码如下:

3.5 停止检测

点击按钮“停止检测”则图片运动就会停止,代码如下:

3.6 更换背景图片

将事先准备好的图片进行调用更改,后期可以根据用户的需求添加更多种类的图片,十分个性化。

4 结束语

屏保程序的信息推送使屏幕保护程序不再是一个狭隘的概念了,以后屏保程序会在计算机空闲的时间处理一系列任务。我们还可以将这个功能用一个代号表示,我们可以叫他为“空闲时间任务处理机”。[9]当我们的电脑处于长时间不操作的状态或者我们自己人为决定将计算机进入休闲状态的时候,我们的计算机就可以开始运行一连串之前指定它处理的任务,我认为以下几个功能是非常有意义的:

1) 进入低功耗状态,休眠显示器、休眠显示卡、降低CPU的速度(甚至当温度降低到一定程度之后停止风扇)。

2) 执行自维护任务。在自身设备休眠狀态的时候,设备还可以同时进行各种任务。例如:杀毒、整理碎片、备份数据、升级驱动程序、同步Internet时间等。

3) 值班功能。在这个功能下,设备可以主动维持当前状态,简单点说就是即使在设备因为意外情况关机的时候,再重新启动的时候,设备也可以恢复之前没有关闭的页面。但是这个功能需要在线USB的支持,同时,这个功能对于公司的突发状况有很好的应对方案。

4) 资源远距离共享。当我们的设备进入空闲状态的时候,在设备所有者允许的情况下,计算机可以将本身的一些运算、内存资源用安全的方式远程提供给其他有需要的用户。有需要的用户就可以大量利用网络上的这种资源进行计算以实现资源的最大化的利用率。这种资源共享方式不仅可以使经费有所拮据的各种科研机构得到强大运算能力,而且在设备相对落后的地区也有机会完成他自身的系统无法完成的处理任务。[10]

参考文献:

[1] 许宝卉.显示器色彩特性分析及色彩空间转换技术研究[D]. 西安:西安理工大学,2010.

[2] 邓小鹏,邢春晓,蔡莲红.Web应用测试技术进展[J].计算机研究与发展,2007(8).

[3] 叶明全.数据库技术与应用[M].安徽大学出版社,2013(8).

[4] 皮尔格林.HTML5揭秘[M]. 北京:电子工业出版社,2010(12).

[5] Adam Freeman.HTML5权威指南[M].北京:人民邮电出版社,2014.

[6] 钟万勰,张柔雷,孙苏明.参数二次规划法在计算力学中的应用(三)[J].计算结构力学及其应用,1989(2).

[7] 道格拉斯·克罗克福德.JavaScript语言精粹[M].北京:电子工业出版社,2012.

[8] ROM Patton.软件测试[M]. 北京:机械工业出版社,2006.

[9] 董国平,陈艳华.信息系统开发实例精粹[M]. 北京:电子工业出版社,2006.

[10] 贾宝翠,王洪利.屏幕保护程序[J].科技传播,2011(12).endprint