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

    基于動(dòng)作腳本制作的放大鏡

    2019-09-19 11:34:52蔣維劉華煜
    電腦知識與技術(shù) 2019年20期

    蔣維 劉華煜

    摘要:本文介紹了在Flash中如何利用動(dòng)作腳本實(shí)現(xiàn)放大鏡移動(dòng)到小圖上的任意位置時(shí),舞臺上會(huì)相應(yīng)地出現(xiàn)放大鏡放置位置的局部放大圖。

    關(guān)鍵詞:Flash;動(dòng)作腳本;放大鏡

    中圖分類號:TP311? ? ? ? 文獻(xiàn)標(biāo)識碼:A

    文章編號:1009-3044(2019)20-0267-02

    開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

    Flash中制作的放大鏡效果通常是利用遮罩的方法,把同一副圖的大小圖重疊放置,再將放大鏡作為遮罩層將大圖遮住,舞臺上看到的是小圖,只有在鏡面所在處才露出大圖,為了使放大鏡鏡面中顯示出的大圖內(nèi)容與放大鏡放置在小圖上的內(nèi)容一致,就不能使大小圖顯示的圖像位置有差異,在放大過程中就需要隨時(shí)改變大圖的坐標(biāo)位置,使其出現(xiàn)在小圖同一位置內(nèi)容的上方,為了方便準(zhǔn)確地移動(dòng)大圖的坐標(biāo)位置,我們在調(diào)整大小圖相對大小時(shí)需要兩圖的縱橫比例一樣。本文中介紹的放大鏡的制作方法,沒有上述的諸多條件限制,可以更為靈活便捷的實(shí)現(xiàn)放大鏡效果。

    1 程序的設(shè)計(jì)與實(shí)現(xiàn)

    1.1 程序的設(shè)計(jì)

    程序的基本設(shè)計(jì)思想是把小圖放在舞臺上的一角,這個(gè)小圖可以是大圖的縮小圖,也可以是與大圖相似的小圖,在本設(shè)計(jì)中大圖和小圖的縱橫比可以不用一致。鼠標(biāo)拖動(dòng)放大鏡使放大鏡在小圖上隨意移動(dòng),放大鏡的移動(dòng)范圍可控制在小圖面積內(nèi),也可是整個(gè)舞臺。當(dāng)放大鏡移動(dòng)到小圖上的某位置時(shí),舞臺中間就會(huì)出現(xiàn)放大鏡所在位置的局部放大圖,如圖1所示。

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

    1.2.1 制作的原理

    在Flash中,一個(gè)元件對象在舞臺上的坐標(biāo)值是以注冊點(diǎn)來定位的,一個(gè)元件的注冊點(diǎn)默認(rèn)是在此元件的左上角,如果讓放大鏡的移動(dòng)區(qū)域大小與小圖的大小一樣,則放大鏡在小圖區(qū)域內(nèi)移動(dòng)時(shí)放大鏡的鏡片可能會(huì)移出小圖畫面,如圖2所示,圖2中十字交叉點(diǎn)為放大鏡的注冊點(diǎn),在圖2中我們可以看到放大鏡的鏡片可能會(huì)移動(dòng)到我們不需要放大的地方,要解決此問題我們可以把放大鏡的移動(dòng)區(qū)域控制得比小圖面積小,如圖3所示,也可以嘗試把放大鏡的注冊點(diǎn)定義在對象中心點(diǎn)或者右下角等地方。為了使大圖顯示的內(nèi)容隨著放大鏡位置的移動(dòng)而變化,大圖移動(dòng)的注冊點(diǎn)坐標(biāo)位置區(qū)域要與放大鏡移動(dòng)的注冊點(diǎn)坐標(biāo)位置區(qū)域在相反的坐標(biāo)象限區(qū)域內(nèi),例如:放大鏡當(dāng)前注冊點(diǎn)坐標(biāo)值為(20,40),則大圖的注冊點(diǎn)坐標(biāo)值要為(a*20,b*40),若小圖是由大圖等比縮放變化的,則a、b的值相等,否則a、b的值要根據(jù)大圖相對于小圖的大小比例取值,如圖4所示。

    1.2.2 實(shí)現(xiàn)過程

    新建一文檔,設(shè)置舞臺大小為(600,400),此處可設(shè)置為任意舞臺窗口大小;

    在時(shí)間軸面板的圖層上依次創(chuàng)建三個(gè)圖層,分別放置大地圖、小地圖、放大鏡,把它們轉(zhuǎn)化為元件 — 影片剪輯,分別調(diào)整它們在舞臺上的大小和位置,其中在調(diào)整大地圖大小時(shí)為了更好地得到放大效果應(yīng)使得其大于舞臺窗口大小;

    選中放大鏡圖層的第一個(gè)關(guān)鍵幀,打開動(dòng)作面板輸入以

    2 結(jié)論

    本文利用動(dòng)作腳本制作了放大鏡動(dòng)畫效果,對于程序中的一些參數(shù)設(shè)置,我們可以根據(jù)實(shí)際制作情況進(jìn)行更改和調(diào)整,如在設(shè)置startDrag()函數(shù)的第二個(gè)參數(shù)時(shí)就可以把移動(dòng)區(qū)域固定在小圖區(qū)域內(nèi):Rectangle(0,0, xiaotu.width-50, xiaotu.height-50),還有大圖取得的坐標(biāo)值的放大倍數(shù)值隨著大圖放大得越大,倍數(shù)值也應(yīng)越大等等,用戶可根據(jù)自己的需求進(jìn)行設(shè)計(jì)。

    參考文獻(xiàn):

    [1] 李志勇,李亮.Flash互動(dòng)編程設(shè)計(jì)——基于ActionScript 3.0 [M].北京:清華大學(xué)出版社,2017.

    [2] 張建琴,官彬彬.Flash CS6動(dòng)畫制作案例教程[M]. 北京:清華大學(xué)出版社,2018:2.

    【通聯(lián)編輯:唐一東】

    舞钢市| 莱阳市| 贵定县| 阿勒泰市| 深水埗区| 启东市| 息烽县| 海南省| 盐山县| 芦溪县| 阳朔县| 五寨县| 平顺县| 垣曲县| 阜平县| 普洱| 余庆县| 泸定县| 昭平县| 鹿泉市| 元谋县| 资阳市| 阆中市| 荆州市| 富宁县| 修文县| 成武县| 鹤峰县| 赫章县| 通榆县| 曲阳县| 阿合奇县| 毕节市| 玛纳斯县| 安远县| 神木县| 安溪县| 永靖县| 唐河县| 锦州市| 台山市|