• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    屏保程序?qū)π畔⑼扑偷难芯?/h1>
    2017-11-20 17:13:27耿英保胡繼禮譚紅春谷宗運(yùn)
    電腦知識(shí)與技術(shù) 2017年26期

    耿英保+胡繼禮+譚紅春+谷宗運(yùn)

    摘要:在信息化時(shí)代的今天,計(jì)算機(jī)利用率可謂是有增無(wú)減,由此就會(huì)延伸到如何更好地保護(hù)計(jì)算機(jī)以延長(zhǎng)計(jì)算機(jī)的使用壽命,那么首當(dāng)其沖的便是屏幕保護(hù)程序。屏幕保護(hù)程序不僅可以保護(hù)顯示器,延長(zhǎng)顯示器的使用壽命,還可以保護(hù)個(gè)人隱私并且進(jìn)行信息的交流與推廣。屏幕保護(hù)程序是在windows操作系統(tǒng)下開發(fā)出來(lái)的,主要是采用的是html5技術(shù)和JS技術(shù),然后在頁(yè)面上表現(xiàn)出來(lái)的一種小巧但是有趣的屏幕保護(hù)程序。并且伴隨著用戶需求的不斷提高,本軟件還可升級(jí)、移植、繼續(xù)開發(fā),以滿足用戶的多種需要。

    關(guān)鍵詞:圖片碰撞;超文本標(biāo)記語(yǔ)言;JavaScript

    中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)26-0079-03

    1 功能需求

    根據(jù)屏幕保護(hù)功能的分析,要求該程序應(yīng)該安裝簡(jiǎn)潔無(wú)贅余,并且不耗電,不存在攜帶具有危險(xiǎn)性的軟件。最重要的是可以利用圖片,影視頻進(jìn)行信息的推送。

    2 設(shè)計(jì)步驟

    2.1 程序模塊總體設(shè)計(jì)

    根據(jù)需求分析和用戶的實(shí)際需求,得出程序的主要功能模塊有:重新演示模塊、停止演示模塊、更換背景模塊。重新演示模塊即是圖片開始運(yùn)動(dòng),是圖片運(yùn)動(dòng)的全部過(guò)程;停止演示模塊,顧名思義就是圖片停止運(yùn)動(dòng),在我們開始使用計(jì)算機(jī)時(shí)就可以點(diǎn)擊這個(gè)按鈕;更換背景模塊就是更換圖片運(yùn)動(dòng)的背景圖片。

    2.2 程序結(jié)構(gòu)設(shè)計(jì)

    程序模塊化的設(shè)計(jì)是根據(jù)順序從上到下,去將一個(gè)復(fù)雜的問(wèn)題化繁為簡(jiǎn),由一層的軟件系統(tǒng)模塊的過(guò)程分為多個(gè)層次,每個(gè)模塊完成后,所有的功能模塊和整個(gè)系統(tǒng)的全部功能整合到一起,形成一個(gè)完整的軟件,軟件通過(guò)模塊化的思想來(lái)使有個(gè)復(fù)雜的軟件系統(tǒng)簡(jiǎn)單化,并且使得系統(tǒng)更容易被維護(hù),對(duì)于軟件開發(fā)者來(lái)說(shuō),更是提高了軟件的可讀性,加快了軟件開發(fā)地效率,降低了開發(fā)地成本。

    3 程序的實(shí)現(xiàn)

    3.1 編寫所需要的工具

    在對(duì)圖片碰撞屏保程序的編寫中主要利用EditPlus文字編輯器,它是一個(gè)非常好用的HTML編輯器,在EditPlus中設(shè)計(jì)網(wǎng)頁(yè)和編輯一個(gè)文檔沒什么兩樣。單擊”File””New””HTMLPage”,就可以直接打開HTML頁(yè)面編輯器窗口,使用它所提供的工具就可以直接進(jìn)行網(wǎng)頁(yè)的編輯。如下圖:

    3.2 JavaScript簡(jiǎn)介

    JS是運(yùn)行在客戶端的腳本語(yǔ)言,主要目的是為了降低對(duì)服務(wù)器端的依賴,簡(jiǎn)單的處理可以直接在客戶端進(jìn)行驗(yàn)證完成。它的本質(zhì)是一種腳本語(yǔ)言,其源代碼在發(fā)往客戶端運(yùn)行之前不需經(jīng)過(guò)編譯,是將文本格式的字符代碼發(fā)送給瀏覽器由瀏覽器解釋運(yùn)行。[3]

    本文還利用到了HTML5,HTML5是跨平臺(tái)的,不需要一定運(yùn)行Windows或者M(jìn)ac OS X或者Linux或者M(jìn)ultics或者其他任何特定的操作系統(tǒng),即可享受HTML5的優(yōu)勢(shì),唯一需要的就是一個(gè)現(xiàn)代的瀏覽器。[4]其中每一個(gè)HTML文檔都必須以doctype元素開頭,瀏覽器據(jù)此得知自己將要處理的是HTML內(nèi)容,即使省略doctype元素,大多數(shù)瀏覽器仍能正確顯示文檔內(nèi)容,只不過(guò)依賴瀏覽器的這種表現(xiàn)不是好習(xí)慣。[4]

    3.3 網(wǎng)頁(yè)與Javascript相連

    在實(shí)際編程過(guò)程中,除了對(duì)語(yǔ)言的掌握,還要了解如何聯(lián)合網(wǎng)頁(yè),一般有如下兩種方法:

    1) 直接加入HTML文檔

    2) 引用方式

    我們?nèi)绻胩嵘聊槐Wo(hù)程序中代碼的利用率,那就可以采用一種簡(jiǎn)單而有效的方式,那就是在已經(jīng)存在JS的頭文件中使用。基本格式如下:

    上述語(yǔ)句中的url就是我們編寫的程序文件的地址,相同道理的,像上文如此的語(yǔ)句可以放在HTML文檔頭部或主體的任何部分。

    3.4 圖片運(yùn)動(dòng)實(shí)現(xiàn)

    JavaScript由非常強(qiáng)大的對(duì)象字面量表示法,通過(guò)列出對(duì)象的組成部分,它們就能簡(jiǎn)單地被創(chuàng)建出來(lái)。[5-6]

    1) 6個(gè)圖片就是6個(gè)ball;

    2) 碰屏幕邊界反彈功能的設(shè)置,我們可以定義兩個(gè)參數(shù)變量,分別為vx、 vy;除此以外,我們還要設(shè)置一個(gè)彈力變量,可以用bounce表示,而且它是一個(gè)負(fù)值。我們可以運(yùn)用這幾個(gè)參數(shù)來(lái)實(shí)現(xiàn)圖片移動(dòng)方向的改變。例如,當(dāng)圖片碰到屏幕邊界時(shí),我們可以將vx 、vy分別乘以彈力變量bounce,這樣我們就可以改變圖片的運(yùn)動(dòng)方向了;

    3) 這篇代碼最有價(jià)值的地方就是如何實(shí)現(xiàn)圖片相碰后即刻反彈開來(lái)。在這個(gè)部分,我們要設(shè)置一個(gè)變量用來(lái)表示兩個(gè)圖片的圓心距離,可以用dist這個(gè)字母表示。圖片相撞反彈原理可以簡(jiǎn)單點(diǎn)地用代碼來(lái)表示,就是說(shuō),在 dist小于兩個(gè)圖片半徑之和的時(shí)候,程序會(huì)令圖片改變?cè)鹊倪\(yùn)動(dòng)方向,這樣就實(shí)現(xiàn)了反彈;

    4) 屏幕保護(hù)程序中需要一個(gè)Screen類,在這個(gè)類的構(gòu)造函數(shù)中中我們可以解決小圖片在移動(dòng)、碰撞的時(shí)候需要的各種參數(shù),例如ballsnum、spring、bounce、gravity、diameter等;然后我們可以再用之前定義的原型,prototype給出所需要的相應(yīng)的函數(shù),例如有創(chuàng)建圖片的函數(shù),我們可以用creatBalls表示;有圖片碰撞的函數(shù),用hitBalls這個(gè)單詞來(lái)表示;有圖片移動(dòng)的函數(shù),用一個(gè)簡(jiǎn)單的單詞move來(lái)表示。最后的最后我們只需要給每個(gè)函數(shù)再添加一些它們必需的相應(yīng)的功能,然后就可以實(shí)現(xiàn)圖片的各種運(yùn)動(dòng)了。

    本程序使用的是直接將Javascript插入HTML中,基本過(guò)程如下:首先要將圖片的各種屬性,比如圖片的直徑、重力等進(jìn)行賦值以及申明,接著點(diǎn)擊重新演示,圖片開始運(yùn)動(dòng),接著偵查圖片是否碰到圖片或者是墻壁(圖片發(fā)生反彈)。點(diǎn)擊停止檢測(cè),圖片運(yùn)動(dòng)就會(huì)停止。點(diǎn)擊更換背景,屏保就會(huì)更換原先已經(jīng)保存好的背景。主要代碼如下:endprint

    3.4.1 圖片初始位置

    以下代碼是對(duì)圖片的初始位置進(jìn)行定義:首先創(chuàng)建圖片creatBalls的函數(shù),然后在函數(shù)里給定各種圖片運(yùn)動(dòng)、碰撞所用到的屬性變量。

    3.4.2 圖片運(yùn)動(dòng)

    以下代碼是對(duì)圖片運(yùn)動(dòng)的編寫:首先創(chuàng)建圖片移動(dòng)move的函數(shù),然后是檢測(cè)圖片是否和壁碰撞,選擇是反彈還是繼續(xù)運(yùn)動(dòng)的代碼。

    3.4.3 檢測(cè)是否碰撞

    以下代碼是對(duì)圖片碰撞的編寫:首先創(chuàng)建圖片碰撞的函數(shù)hitTest,然后根據(jù)兩圖片圓心距的長(zhǎng)度來(lái)實(shí)現(xiàn)圖片的碰撞反彈,具體代碼如下:

    3.5 停止檢測(cè)

    點(diǎn)擊按鈕“停止檢測(cè)”則圖片運(yùn)動(dòng)就會(huì)停止,代碼如下:

    3.6 更換背景圖片

    將事先準(zhǔn)備好的圖片進(jìn)行調(diào)用更改,后期可以根據(jù)用戶的需求添加更多種類的圖片,十分個(gè)性化。

    4 結(jié)束語(yǔ)

    屏保程序的信息推送使屏幕保護(hù)程序不再是一個(gè)狹隘的概念了,以后屏保程序會(huì)在計(jì)算機(jī)空閑的時(shí)間處理一系列任務(wù)。我們還可以將這個(gè)功能用一個(gè)代號(hào)表示,我們可以叫他為“空閑時(shí)間任務(wù)處理機(jī)”。[9]當(dāng)我們的電腦處于長(zhǎng)時(shí)間不操作的狀態(tài)或者我們自己人為決定將計(jì)算機(jī)進(jìn)入休閑狀態(tài)的時(shí)候,我們的計(jì)算機(jī)就可以開始運(yùn)行一連串之前指定它處理的任務(wù),我認(rèn)為以下幾個(gè)功能是非常有意義的:

    1) 進(jìn)入低功耗狀態(tài),休眠顯示器、休眠顯示卡、降低CPU的速度(甚至當(dāng)溫度降低到一定程度之后停止風(fēng)扇)。

    2) 執(zhí)行自維護(hù)任務(wù)。在自身設(shè)備休眠狀態(tài)的時(shí)候,設(shè)備還可以同時(shí)進(jìn)行各種任務(wù)。例如:殺毒、整理碎片、備份數(shù)據(jù)、升級(jí)驅(qū)動(dòng)程序、同步Internet時(shí)間等。

    3) 值班功能。在這個(gè)功能下,設(shè)備可以主動(dòng)維持當(dāng)前狀態(tài),簡(jiǎn)單點(diǎn)說(shuō)就是即使在設(shè)備因?yàn)橐馔馇闆r關(guān)機(jī)的時(shí)候,再重新啟動(dòng)的時(shí)候,設(shè)備也可以恢復(fù)之前沒有關(guān)閉的頁(yè)面。但是這個(gè)功能需要在線USB的支持,同時(shí),這個(gè)功能對(duì)于公司的突發(fā)狀況有很好的應(yīng)對(duì)方案。

    4) 資源遠(yuǎn)距離共享。當(dāng)我們的設(shè)備進(jìn)入空閑狀態(tài)的時(shí)候,在設(shè)備所有者允許的情況下,計(jì)算機(jī)可以將本身的一些運(yùn)算、內(nèi)存資源用安全的方式遠(yuǎn)程提供給其他有需要的用戶。有需要的用戶就可以大量利用網(wǎng)絡(luò)上的這種資源進(jìn)行計(jì)算以實(shí)現(xiàn)資源的最大化的利用率。這種資源共享方式不僅可以使經(jīng)費(fèi)有所拮據(jù)的各種科研機(jī)構(gòu)得到強(qiáng)大運(yùn)算能力,而且在設(shè)備相對(duì)落后的地區(qū)也有機(jī)會(huì)完成他自身的系統(tǒng)無(wú)法完成的處理任務(wù)。[10]

    參考文獻(xiàn):

    [1] 許寶卉.顯示器色彩特性分析及色彩空間轉(zhuǎn)換技術(shù)研究[D]. 西安:西安理工大學(xué),2010.

    [2] 鄧小鵬,邢春曉,蔡蓮紅.Web應(yīng)用測(cè)試技術(shù)進(jìn)展[J].計(jì)算機(jī)研究與發(fā)展,2007(8).

    [3] 葉明全.數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用[M].安徽大學(xué)出版社,2013(8).

    [4] 皮爾格林.HTML5揭秘[M]. 北京:電子工業(yè)出版社,2010(12).

    [5] Adam Freeman.HTML5權(quán)威指南[M].北京:人民郵電出版社,2014.

    [6] 鐘萬(wàn)勰,張柔雷,孫蘇明.參數(shù)二次規(guī)劃法在計(jì)算力學(xué)中的應(yīng)用(三)[J].計(jì)算結(jié)構(gòu)力學(xué)及其應(yīng)用,1989(2).

    [7] 道格拉斯·克羅克福德.JavaScript語(yǔ)言精粹[M].北京:電子工業(yè)出版社,2012.

    [8] ROM Patton.軟件測(cè)試[M]. 北京:機(jī)械工業(yè)出版社,2006.

    [9] 董國(guó)平,陳艷華.信息系統(tǒng)開發(fā)實(shí)例精粹[M]. 北京:電子工業(yè)出版社,2006.

    [10] 賈寶翠,王洪利.屏幕保護(hù)程序[J].科技傳播,2011(12).endprint

    稷山县| 壶关县| 武城县| 汾西县| 濮阳市| 闸北区| 孟州市| 巴中市| 卢湾区| 城步| 五大连池市| 泸水县| 河西区| 平果县| 涿鹿县| 鄂州市| 平昌县| 称多县| 开鲁县| 茶陵县| 南乐县| 尤溪县| 栾城县| 金阳县| 枣强县| 石棉县| 乐都县| 米泉市| 汉川市| 南丰县| 遵义县| 安新县| 东山县| 沈丘县| 遵义县| 保康县| 孟津县| 贵州省| 科技| 松潘县| 云梦县|