999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用動作腳本制作動態進度條

2020-04-24 14:50:40蔣維趙濤
電腦知識與技術 2020年5期

蔣維 趙濤

摘要:ActionScript 3.0可以在場景中繪制出各種圖形.該文介紹了在Flash中利用動作腳本來模擬實際文件加載情況的動態進度條的制作方法。

關鍵詞:Flash;動作腳本;進度條

中圖分類號:TP393 文獻標識碼:A

文章編號:1009-3044(2020)05-0217-02

開放科學(資源服務)標識碼(OSID):

進度條通常用于標識事件的完成度,尤其在程序下載或安裝界面中,利用進度條可直觀反應出程序加載完成的情況,在Flash中,與提前在畫布上繪制編譯好的圖形相比,使用Action-Script 3.0編碼繪制圖形不僅可以得到更小的文件尺寸,同時也可以提供給用戶更加靈活的繪制方式、交互性的體驗以及多變的動態效果.本文中將使用ActionScript 3.0代碼繪制矢量圖的方法來制作具有動態加載效果的進度條。

1 Graphics類繪制矢量圖形

我們在使用類的屬性、方法和事件前,一般要先創建類的實例,而Graphics類是最終類不能實例化.Graphics類繪制矢量圖形是通過支持矢量繪制的其他類自動生成Graphics實例,并通過graphics屬性對其進行訪問.支持矢量繪制的對象包括Sprite類和Shape類,由于MovieClip類繼承了Sprite類,所以也可以在MovieClip類的實例中繪圖.主時間軸是MovieClip類的實例,所以具有graphics的屬性,我們在繪制圖形時可以直接將圖形畫在主場景中,如繪制一條直線:this.graphics.lineStyle(10,Ox990000); this.graphics. moveTo(100, 200); this. graphics. lineTo(300,200);可以直接在主場景中繪制出一條直線,但在實際編程時一般都會預先定義出一個顯示對象容器,如Shape類,再在容器中繪制圖形,這樣可以方便地對繪制出的圖形進行放大、縮小、旋轉等操作。

2 動畫的設計與實現

2.1 動畫實現的目標

動畫的主要目標是實現進度條的動態加載,且用戶可以自己設定進度條的進度長度和加載速度的快慢,同時實現進度條加載到一定百分比時進度條的顏色會發生相應的變化。

2.2 動畫的原理分析

本文中是用繪制矩形和繪制直線的方法來實現進度條的動態加載,程序設計的基本思想是從一起點向一終點繪制一矩形或直線,起點坐標值固定,終點坐標值為一變量,運行時終點坐標值不斷增大,程序每次都會依據新的終點坐標值重新從起點向終點繪制出一段新的矩形或直線,從視覺上看矩形或直線的長度就是在不斷的動態變化的,利用此原理就會有進度條動態加載的效果,如圖l所示,假設矩形或直線起始長度為n,隨后起點不變,長度不斷增加。

2.3 動畫的實現過程

(1)利用矩形制作進度條

此方法是在繪制矩形時去掉邊框顏色,保留其內部填充顏色,矩形的高決定進度條的寬窄,矩形的寬即進度條的長度是一變化量.具體做法如下:

新建一個Flash文檔.

打開動作面板輸入以下代碼:

var s:Shape=new Shape0;//定義一顯示對象容器放置矩形

this.addChild(s);//在窗口舞臺中顯示容器內的矩形

var n: Number=0,M:Number =300, Color: Number=OxOOff33,percent;

//變量n表示矩形的寬度;M是矩形寬度的終點值,決定了進度條最終的長度;Color表示矩形的初始填充顏色值;percent用于顯示加載百分比

percent =new TextField0;//生成文本域

percent. defaultTextFormat=new TextFormat(1黑體”,20,Oxff0000);//設置文本格式

percent.x=150;percent.y=220;//文本框在窗口舞臺上的位置

addEventListener(Event.ENTE R_FRAME,drawLine);

function drawLine(e:Event)

{s.graphics.beginFiII(Color);//設置矩形填充顏色

s.graphics.drawRect(50,150,n,50);/,沒置矩形的繪制起點以及寬度和高度

for (var i:Number=0; i<=9000000;i++){)

//此循環語句是控制n變化的快慢即進度條加載的快慢,i

的終止值越大,進度條越慢

if fn<=M1

{percent.text= Math.floor(n* 100/M)+”%”;//取得加載百分比

percent.autoSize= TextFieldAutoSize.RIGHT;

addChild(percent);//顯示加載百分比

n++://矩形寬度值不斷增加即進度條不斷增加

if(Math.floor(n*lOO/M)%30==0) Color= Color +40;

//判定加載進度,若為30的倍數則重新取得新的顏色填充值

else

{for (var j:Number=0; j<= 30000000;j++){)//延時

s.graphics.endFill0;

percent.text=”加載完成!”;

(2)利用直線制作進度條

利用直線制作進度條的過程與繪制矩形過程相似,在繪制矩形時是利用循環語句來控制進度條加載的快慢,除了使用循環語句控制進度條的加載進度,還可以利用setlnterval0來控制進度條加載速度的變化.在利用直線制作進度條時,我們將使用直線的粗細來控制進度條的寬窄,當繪制的筆寬大于2時,LineToO畫的線條兩頭是圓的,我們需要使直線的兩頭是萬頭.具體做法如下:

新建一個Flash文檔.

打開動作面板輸入以下代碼:

var s:Shape=new Shape0;

this.addChild(s);

var n:Number= O,M:Number =300, Color:Number=OxOOff33,ti-shi;

tishi=new TextField0;

tishi. defaultTextFormat=new TextFormat(”黑體”,20,Oxff0000);

tishi.x= 200;tishi.v= 220;

function drawLine0//創建ClockFun0函數

{s. graphics. lineStyle(30, Color,1, true, LineScaleMode. NONE,CapsStyle.NONE);

//設置筆觸的粗細即進度條的寬窄,顏色Color, CapsStyle.NONE指定線條兩端為方頭

s.graphics.moveTo(100,200);//設置線條起點

s.graphics.lineTo(lOO+n,200);//畫線到線條結束點

if fn<=M、

(tishi.text= MathAoor(n*lOO/M)+"%”;

tishi.autoSize= TextFieldAutoSize.RIGHT;

addChild(tishi);

n++;

if(Math.floor(n*100/M)%30==0) Color= Color +40;)

else

{tishi.text=“加載完成!”;

stop0;】)

setInterval(drawLine, 50);//每隔50毫秒執行一次drawLine函數

(3)測試生成影片截圖如圖2所示。

3 結論

本文利用了Flash的動作腳本實現了進度條的加載動畫,在制作時我們需要注意一些細節,如文本內容需右對齊,否則顯示的“%”會在舞臺上跳動,用直線繪制時線條末端處端點類型用的是CapsStyle.NONE,如用CapsStyle.SQUARE設置端點類型為方頭,進度條的總長度會比我們給出的參數值M大.另外進度條加載速度的快慢,除了使用循環語句和setlnterval0來控制外,還可以通過控制n的變化大小來實現,如n++,可寫為n=n+0.5,n值變化越小,進度越慢,反之越快。

參考文獻:

[1]李林,蘇炳均.Flash CS5動畫制作教程[M].北京:清華大學出 版社,2014:8.

[2]劉本軍,李登豐.Flash ActionScript 3.0互動設計項目教程[M]. 北京:人民郵電出版社,2015:11.

【通聯編輯:唐一東】 作者簡介:蔣維(1981-),女,洛陽師范學院教師,主要研究計算機應用。

主站蜘蛛池模板: 亚洲网综合| 久久先锋资源| 99精品免费在线| 人妖无码第一页| 91美女视频在线| 国产日韩丝袜一二三区| 国产主播喷水| AV片亚洲国产男人的天堂| 97av视频在线观看| 色综合中文综合网| 国产网站一区二区三区| 啊嗯不日本网站| 国内精品九九久久久精品 | 国产成人亚洲精品色欲AV| 久青草免费在线视频| 欧美精品啪啪一区二区三区| 内射人妻无码色AV天堂| 欧美一级在线| 亚洲av片在线免费观看| 婷婷亚洲综合五月天在线| 免费 国产 无码久久久| 亚洲免费黄色网| 日韩欧美一区在线观看| 午夜福利无码一区二区| 97精品久久久大香线焦| 91精品国产福利| 国产91丝袜在线播放动漫| 欧美性久久久久| 91久久国产成人免费观看| 国产剧情一区二区| 亚洲精品制服丝袜二区| 理论片一区| 国产无码在线调教| 91福利片| 亚洲午夜综合网| 一区二区影院| 不卡午夜视频| 欧洲av毛片| 国产成人精品男人的天堂| 强奷白丝美女在线观看 | 精品无码人妻一区二区| 久青草国产高清在线视频| 国产导航在线| 国产真实乱子伦视频播放| 在线观看视频一区二区| 久久不卡精品| 国产拍在线| 亚洲成人在线免费观看| 欧洲熟妇精品视频| 亚洲成人精品久久| 污网站免费在线观看| 毛片基地美国正在播放亚洲 | 亚洲一欧洲中文字幕在线| 国产成人精品免费av| 国产成人精品一区二区三区| 91精品国产综合久久香蕉922| 久久国语对白| 国产玖玖视频| 亚洲国产日韩一区| 久久久成年黄色视频| 欧美成人aⅴ| 国产第八页| 午夜视频www| 欧美激情视频一区| 国产又粗又爽视频| 精品久久综合1区2区3区激情| 丝袜高跟美脚国产1区| 99精品影院| 99re热精品视频国产免费| 久久精品无码国产一区二区三区| 日韩小视频在线播放| 欧美色综合网站| 中文字幕久久亚洲一区| 日韩国产精品无码一区二区三区| 91亚洲免费视频| 亚洲日韩图片专区第1页| jizz国产在线| h视频在线观看网站| 亚洲国产中文精品va在线播放| 亚洲无码视频一区二区三区| 国产高清国内精品福利| 国产精品亚欧美一区二区|