當前位置:首頁 » 操作系統 » 進度條源碼

進度條源碼

發布時間: 2022-05-01 11:37:23

A. flash進度條的代碼怎麼寫

這個問題我已經在知道回答過了
提問的時候先搜一下

詳細的可以看一下下面推薦的網址~~有圖例~~解說更明確

Loading 預載動畫程序設計

Loading網頁預載程序是網頁動畫中的一個關鍵,因為即便是Flash生成的文件很小,但是製作出的大型動畫對於使用數據機的用戶速度還是需要解決的。如果沒有一個預載的過程,只怕動畫觀看起來也不會很流暢。特別是在動畫中加入了大量的聲音和圖像的動畫沒有了Loading將不會流暢的展現在我們眼前。
在此之前先學習一下在這章將要出現的屬性與函數。如果由於例中使用了沒有接觸過的函數和屬性,請先照例製作,等在以後的章節中學習了相關的其它函數後回過頭來再看的話,就會完全明白例子中的作用。

◆ _framesloaded

_framesloaded是電影剪輯的屬性,用來獲取電影剪輯中的已經下載的幀數,當然大部的應用於電影剪輯的屬性都可以應用於整部動畫。此屬性只能用來獲取。
if(_root.mc._framesloaded>100){
_root.gotoandplay(1)
}
此例子在普通模式下輸入將成為:
if(getproperty("_root.mc",_framesloaded)>100){
gotoandplay(1)
}
普通模式中對屬性的獲取將使用getproperty函數,但此函數在新的.語法的使用中並非最佳,在以下的例子中將不再引用。此例中以獲得電影剪輯已經下載的幀數大於100時,開始返回場景重新播放。這也是在網站製作中一個比較典型的例子,很多的電影剪輯因為體積問題,在「流」式播放過程中不會很流暢。而下例將是一個錯誤的例子。
_root.mc._framesloaded=100;
_root.gotoandplay(1);
編程中將不允許對_framesloaded屬性進行賦值,如果你想當下載的幀數等於100時根目錄開始回放的話,請按下例製作。
if(_root.mc._framesloaded=100){
_root.gotoandplay(1);
}
◆ _totalframes

_totalframes屬性是用來獲取電影剪輯實體的總幀數。也可以用來獲取動畫的總幀數。在下例中會看到它的用法。
i=_root.mc._totalframes;
if(_root.cuttentframes=i);
_root.stop();
}
程序中將電影剪輯實體的總幀數賦值賦予了變數i,而當主場景的動畫播放指針播放到與電影剪輯中的總幀數相同的數目時,動畫停止播放。此屬性同樣為非賦值屬性。

◆ ifFramesloaded

ifFramesloaded函數也是用來獲取已經下載的幀數的,與_framesloaded不同的是它用於一個簡單的行為來描述已下載的幀數。而且此函數似乎是專為Loading設計,它位於Basic Actions指令集,指令名稱為If Frames Is Loaded。以下實例將構成一個最為簡單的Loading。
ifFrameLoaded(_totalframes){
gotoandplay(3);
}else{
gotoandplay(1);
}
將此程序加於影片的第二幀,可用於所有動畫的預載技術。意思為當裝入的幀數為總幀數時開始播放第三幀,如果不然,播放第一幀。在Flash5以後開始使用更多的函數和屬性,所以此函數不推薦使用。

◆ getBytesLoaded()

getBytesLoaded()為獲取電影剪輯實體的已下載位元組數,如果是外部動畫將返回動畫的總位元組數。GetBytesLoaded用於更加精確的Loading設計,因為它並不像_framesloaded屬性是獲取影片的總幀數,而是以位元組做為單位獲取。如果說動畫的最後一幀將是一個大型的圖像或是聲音角色的話,哪么_framesloaded所獲得的百分比將不準確,getBytesLoaded有效的彌補了此方面的不足。例:
i=_root.getBytesTotal();
if(_root.getBytesLoaded()>=1000000){
n=_root.getBytesLoaded();
if(n<=i/4){
_root.stop();
trace("下載了1M,還不到四分之一,動畫太大,下載時間會很長,是否繼續?")
}
}
此句的意思為當動畫下載到1MB時,比較是否已經下載了動畫的四分之一,如果是,停止動畫的播放,在調試窗口顯示「下載了1M,..."等字元串,根據動畫中的其他行為判斷是否繼續播放。此例的另一特點是,停止的地方如果有插入電影剪輯的話,電影剪輯將不會停止播放。也可以通過動態文本顯示已經下載的文字數,假設在動畫的主場景中有一個變數名為text的動態文本變數,哪么例:
_root.text=_root.getBytesLoaded();
if(_root.getBytesLoaded()>=_root.getBytesTotal()){
gotoandplay(3);
}else{
gotoandplay(1);
}
動態文本框會動態顯示已經下載的位元組數為觀眾服務。觀眾也會了解在動畫的下載過程中動態的進度了。

◆ getBytesTotal()

getBytesTotal()函數是用來獲取動畫或是電影剪輯的總位元組數,當然我們可以通過對文件的大小來觀察動畫的總位元組數,但對於網路上使用瀏覽器的觀眾來說,動態顯示文件大小是很有必要的。還有,如果想觀察動畫中電影剪輯的體積就只有靠getBytesTotal()函數了。
If(_root.getBytesTotal()>=1000000){
_root.stop();
}
這個程序的意思是當動畫的總位元組超過1M時停止動畫播放。

◆ gettimer()

gettimer()函數用來獲取電影剪輯或是動畫的已經播放時間數,此函數並不僅僅應用於Loading的製作,在今後的學習過程中還會接觸到它。在Flash5的對動畫播放時間的控制上會有gettimer()函數大顯身手的舞台。但gettimer()函數獲取的時間是以毫秒做為計算單位的,一般在程序製作過程中還會對它除以一千來取得秒,這樣更加符合對於時間播放程序的顯示。假設動畫中有一個text的動態文本框變數。例:
text=gettimer()/1000;
通過幀循環或是其它的誅如OnClipEvent(enterframe)等行為的控制會動態的顯示動畫播放的時間過程。又例如:
text=gettimer()/1000;
if(text>=10){
gotoandstop(3);
}else{
gotoandplay(1);
}
假設此程序位於動畫的主場景的第二幀。那麼當開始播放10秒鍾之後才會正式開始播放,不然只會在第一幀與第二幀之間循環。

一個簡單的Loading

一個簡單的Loading製作並不需要很高深的編程基礎,而且大部份設計人員開始學習Flash腳本編程時都是從Loading開始學起的。也是因為製作Loading對於動畫傳播方面起著至關重要的作用。

步驟一、打開Flash5,新建一個文件。在影片的默認設置中背景色是白色的,動畫將以每秒十二幀的速度播放,這些你可以通過點擊Modify|Movie命令打開Movie Properties對話框觀察到。如圖4-1所示。但是實踐告訴我們,使用影片默認設置製作的動畫,在網上瀏覽時,並不能很流暢,所以設計人員一般喜歡把默認的每秒12幀更改的高一點,這樣就可以在發布了以後觀看到比較流暢的動畫了。

圖4-1 Movie Properties對話框

步驟二、在影片的第一幀,使用Window|Panels|Stroke命令打開Stroke筆觸面板,將筆觸的寬點拉桿拉到3,如圖4-2所示。

圖4-2 用Stroke面板改變筆觸粗細

步驟三、點擊繪圖面板中的方形繪圖工具。在繪圖面板Colors項上面的油漆桶工具中把色彩選為紅色。然後在場景中繪制出一個長方形,如圖4-3所示。

圖4-3 繪制一個長方形進度條

步驟四、在編輯區內用滑鼠點擊長方形的紅色處,你會發現色彩出現了很多小麻點,已經處於了被選取狀態。

步驟五、點擊Insert|Convert to Symbol,將紅色長方形轉換為符號,在隨後打開的Symbol Properties對話框中的Name輸入框輸入符號的名稱為Loading。然後選擇Movie Clip電影剪輯項,點擊OK。

步驟六、現在點擊紅色長方形你會發現它已經不再出現小麻點了,而是出現了一個藍色的外框,因為它已經是一個符號了。現在選Window|Panels|Instance命令打開Instance實例面板。

步驟七、在面板中的Name項中輸入名稱Loading,為這個符號取了一個分身名稱。如圖4-4所示。

圖4-4 為進度條符號取分身名稱

步驟八、在時間軸的第二幀按F6鍵,插入一個關鍵幀。

步驟九、用滑鼠雙擊此幀打開幀的Action面板。我們要開始製作預載動畫的程序了。

步驟十、雙擊Action面板左邊的指令里的Actions項,在打開的指令里選擇if,用滑鼠又擊,if指令出現在編輯區了。

步驟十一、在Action面板的下半部份參數輸入區里Condition輸入欄中輸入代碼_framesloaded>=_totalframes。如圖4-5所示。

圖4-5 在if指令參數框內輸入代碼

步驟十二、然後點擊指令區的Basic Actions命令集里的goto指令,在隨後的參數輸入框內的Frame欄目中輸入數字3。如圖4-6所示。

圖4-6 goto指令的參數輸入欄

步驟十三、然後點擊 Actions指令集中的else項。

步驟十四、再次點擊goto指令,這回不用更改幀序列數字了。

步驟十五、點擊Action指令集的Setproperty指令,選擇Properties下拉框中的_xscale屬性,然後在Target輸入欄中輸入「_root.loading",點選後面的Expression單選框項目。

步驟十六、在Value輸入欄中輸入代碼(_framesloaded/_totalframes)*100,點選後面的Expression單選框。

圖4-7 Setproper指令參數輸入框

步驟十七、指令已經輸入完畢了。接下來開始在第三幀後面製作你的動畫,然後發布,上傳,觀看。你也可以打開Control|Debug Movie測試電影,在隨後打開的瀏覽窗口中使用Debug菜單中的模擬下載速度來測試。

程序解讀:

第1-2行中if(_framesloaded>=_totalframes)句的意思是當已經下載的幀數大於等於影片的總幀數時,跳轉到第三幀開始播放。

第3-5行,如果下載的幀數小於總幀數的話,跳轉到第一幀播放。並且安裝分身名稱為loading的電影剪輯的長度屬性,使它的長度成為已經下載的幀數除以總幀數再乘100。

知識要點:

Loading製作很多設計人員喜歡使用幀行為,其實用很多的功能都可以實現Loading製作。本例中使用(_framesloaded/_totalframes)*100的表達式來製作進度條的寬度。其它Loading製作方法不管是用下載時間函數還是用下載位元組函數,但下載數除以總數乘以100的表達式基本上是沒什麼變化的了。

精確的Loading設計

上述的哪個Loading程序有一些比較簡單,雖然它已經達到了預載的效果,但是對於要求比較高的朋友可能就不能滿足了。哪么請看圖4-8,這個預載動畫將使用到比較多的函數,使動畫預載看起來更加的人性化。

圖4-8 高級的Loading程序界面

製作過程:

步驟一、打開剛才我們設計的Loading動畫。這個Loading程序將是在上述Loading的基礎上修改而成的。

步驟二、使用文字工具,並且使用Window|Panels|Character命令,打開Character字元面板,將字型大小設置為25,字色為黑色。如圖4-9所示。

圖4-9 Character面板的設置

步驟三、將文字按圖4-8這樣式輸入在界面里。然後打開Window|Panels|Align命令,打開Align對齊面板。

步驟四、使用其中的對齊方式將文字對齊成圖4-8之樣式。

步驟五、點擊文字工具,在總位元組的文字後面用滑鼠拖出一個文本框,注意用調節點調節文本框的寬度。然後打開Window|Panels|Text Options命令打開Text Options文本屬性面板,在下拉菜單中選擇Dynamic Text打開動態文本設置框。

步驟六、在動態文本框的Variable項輸入這個文本框的變數為zbye,如圖4-10所示。

圖4-10 動態文本面板中設置動態文本變數

步驟七、用同樣的方法在繪制七個動態文本框在各字元的後面。已經下載位元組後面的欄位變數為yby,總幀數的為zfrm,已下載幀數的是yfrm,需要的時間後面變數名為xtim,已用時間的為ytim,在進度條下方的下載進度變數為yload。

步驟八、設置完畢開始進行程序設計。打開第二幀的Action面板,你可以看到我們剛才設計的程序。在這個程序中有很多的內容無需改變,只要再添加一些程序就可以了。

步驟九、我們將Setproperty("_root.loading",_xscale,(_framesloaded/_totalframes)*100這句用滑鼠拖動上移一行,在指定區的Actions指令集中選擇Set Variable指令。

步驟十、在打開的變數輸入框中,Variable項填寫總幀數的欄位變數zby,在Value欄中輸入代碼_root.getbytestotal(),勾選後面的Expression單選框。

圖4-11 變數輸入框

步驟十一、用同樣的方法輸入其它變數。yby=_root.getbytesloaded()。
步驟十二、zfrm = _root._totalframes。
步驟十三、yfrm = _root._framesloaded。
步驟十四、ytim=gettime()/1000 + "秒"。
步驟十五、xtim = int(zby-yby)/yby*tim) + "秒"。
步驟十六、yload = _framesloaded/_totalframes*100。
步驟十七、整個程序輸入結束。對照參考圖4-12。

圖4-12 高級Loading的完整程序

程序解讀:

這前幾行程序基本上不用解讀,哪些都是Action中所擁有的函數,只要將本章開始時的函數學習好,把它們賦值給變數就可以了。

第十行,用了一個表達式來獲得了還需要的時間變數值。總位元組減去已經下載的位元組的值除以已下載的位元組再乘以已經使用的時間。

第十一行,用已經下載的幀數除以總幀數再乘以100得到下載進度,其實這行程序還可以變化為yfrm/zfrm*100。

知識要點:

高級Loading其實製作起來也並不復雜,你可以通過對函數的了解來做到。另外這里有一個概念,getbytesloaded和另外幾個函數都是Movie Clip的函數,為什麼也可以在場景中使用呢?其實你可以把場景看成是一個大的Movie Clip,很多電影剪輯的函數都可以使用在場景中,包括gettimer()。而動態文本變數正是去顯示這些函數的數值的,其實在Loading中還有一個概念,就是利用幀循環也可以達到循環效果,與一般的編程不同的是Flash可以使用幀循環去達到一些效果,有時候因為幀循環的時間特性,做出的循環比用while等循環語句構造出更加意想不到的效果。學習好這些函數正是高級Loading製作的關鍵。

B. C#編程中如何在窗體上加上一個進度條,代碼怎麼寫

ProcessBar空間就是進度條,它的屬性中有個Maximum和Minimum兩個,分別控制范圍最小值和最大值。
其實只要用到sleep就行了。
先設置Maximum為200,Minimum為1。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading; //必須要引用

namespace passMgr
{
public partial class Splash : Form
{
int i = 1; //定義一個整型
public Splash()
{
InitializeComponent();
}

private void Splash_Shown(object sender, EventArgs e) //也可以定義成Form-Load事件
{
for (i = 1; i <= 200; i++) //ProcessBar控制項最大值是多少,這里i就要小於等於多少,如果小於它,滾動條將到不了盡頭
{
proSplash.Value = i; //將進度條的值定義為i的值,每次循環過來加1
Thread.Sleep(200); //休息200毫秒在往下執行
}
FrmLogin FL = new FrmLogin();
FL.Show(); //循環完畢後打開下一個窗口
this.Hide();
}
}
}

C. VB中time控制項和進度條的代碼

Private Sub Form_Load() 『窗體載入時執行此段代碼
ProgressBar1.Min = 0『進度條最小值為0
ProgressBar1.Max = 10 '進 度條最大值為10
ProgressBar1.Value = 0 『定義進度條的當前值 為0
Timer1.Interval = 250 』定義每250毫秒執行一次timer事件
Timer1.Enabled = False 『定義時鍾不響應
ProgressBar1.Visible = False 』進度條不可見
End Sub

Private Sub Command1_Click() '按鈕單擊是執行此段代碼
Timer1.Enabled = True 計時器打開
ProgressBar1.Visible = True 進度條可見
End Sub

Private Sub timer1_timer() '計時器打開時 每250毫秒執行一次此段代碼
If ProgressBar1.Value < ProgressBar1.Max Then '判斷 如果進度條的當前值 <10 則
ProgressBar1.Value = ProgressBar1.Value + 1 '進度條的當前值=當前值+1
Else 否則
ProgressBar1.Visible = False '進度條不可見
End If 判斷結束
If ProgressBar1.Value = ProgressBar1.Max Then ' 判斷 如果進度條的值=10 則
Form2.Show ' 窗體form2打開
End If ' 判斷結束
End Sub

分太少了點!

D. 易語言進度條怎麼載入,代碼是什麼

添加一個時鍾
然後雙擊時鍾
開始寫代碼
進度條1.位置
=
進度條1.位置
+
1
『(可以設置其他數字
隨便
看你要的速度)需要設置時鍾周期
可以在屬性裡面直接設置
你好可以通過按鈕控制進度條
如:點一下按鈕開始載入
再點一下停止

代碼↓
如果(進度條1.位置
=
0)
時鍾1.時鍾周期
=
>0的任意數
否則
時鍾1.時鍾周期
=
0

』這樣就能簡單實現了

E. 安卓進度條自動增加從1到100完整代碼

java">packagecom.jevons.progressbar;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.os.Handler;
importandroid.os.Message;
importandroid.widget.ProgressBar;
{

//記錄ProgressBar的完成進度
privateintstatus=0;
privateProgressBarbar;

//創建一個負責更新進度的Handler
privateHandlermHandler=newHandler(){
@Override
publicvoidhandleMessage(Messagemsg){
//表明消息是由該程序發送的
if(msg.what==0x111){
bar.setProgress(status);
}
}
};

@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_progress_bar2);

bar=(ProgressBar)findViewById(R.id.bar1);

//啟動線程來執行任務
newThread(){
@Override
publicvoidrun(){
super.run();
while(status<100){
doWork();
status++;
//發送消息
mHandler.sendEmptyMessage(0x111);
}
}
}.start();

}

//做任何事都可,只是演示,按需實現,如果只是展現,不需要該方法也可
privatevoiddoWork(){
try{
Thread.sleep(100);
}catch(InterruptedExceptione){
e.printStackTrace();
}
}
}

F. 易語言進度條的應用 請發源碼給我 或者發個源碼的下載地址 謝謝! 高分懸賞

.版本 2

.程序集 窗口程序集1

.子程序 __啟動窗口_創建完畢

時鍾1.時鍾周期 = 0

.子程序 _按鈕1_被單擊

時鍾1.時鍾周期 = 200

.子程序 _時鍾1_周期事件

進度條2.位置 = 進度條2.位置 + 1
.如果真 (進度條2.位置 = 100)
信息框 (「我到頭了」, 0, )
.如果真結束

G. 易語言進度條使用源碼

.版本 2 進度條.位置 = 進度條.位置 + 1 標簽.寬度 = 標簽.寬度 + 3 標簽.標題 = 到文本 (進度條.位置 \ 1.2) + 「%」 ' 刪掉也沒關系 .如果真 (進度條.位置 > 110) 標簽.寬度 = 306 .如果真結束 .如果真 (進度條.位置 > 120) 進度條.位置 = 10 標簽.寬度 = 0 .如果真結束 .子程序 __啟動窗口_創建完畢 可視 = 真 標簽.底圖 = 快照 (進度條.取窗口句柄 (), , ) 進度條.位置 = 10

H. Java poi導入excel 怎麼設置進度條 源碼

表單form 里加入<s:token></s:token> 代碼,
token標簽是用於防止多次提交的標簽。避免了刷新頁面時多次提交,如果需要該標簽起作用,則應該在Struts2的配置文件中啟用TokenInterceptor攔截器或TokenSessionStoreInterceptor攔截器。token標簽的實現原理是在表單中拉架一個隱藏域,每次載入該頁面時,該隱藏域的值都不相同。而TokenInterceptor攔截器則攔截所有用戶請求,如果兩次請求時該隱藏域的值相同,則阻止表單提交。
然後需要你自己寫一個攔截器,攔截錯誤信息,攔截下來之後給出的提示語句就可以你自己定了比如「當前頁面正在提交過程中,不允許重復提交!」

I. html 播放器進度條代碼

你可以用這個播放器 可以播放視頻和音樂(視頻要求為WMV格式的)這個有進度條
將下列代碼放入<body>
<embed src="周傑倫 - 跨時代.mp3" autostart="true" loop="1">

J. 求winform 載入窗體時彈出另一個窗體並顯示進度條的源碼

//frmA: 源窗體
//------------------------------------------
//引用
using System.Threading;
public frmA()
{
InitializeComponent();

worker = new BackgroundWorker();
worker.DoWork += new DoWorkEventHandler(worker_DoWork);
worker.RunWorkerCompleted += new (worker_RunWorkerCompleted);
}

/// <summary>
/// 非同步 開始事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void worker_DoWork(object sender, DoWorkEventArgs e)
{
//需要執行的代碼
}

/// <summary>
/// 事件: 非同步執行完成後
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
MessageBox.Show("執行完成。", "run", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

//點擊一個按鈕後開始執行
private void btnA_Click(object sender, EventArgs e)
{
//代碼
......

//非同步執行開始
worker.RunWorkerAsync(tableName);

//顯示進度窗體
frmB frm = new frmB(this.worker);
frm.StartPosition = FormStartPosition.CenterScreen;
frm.ShowDialog(this);
}

frmB:
//裡面放了一個loading.gif圖片顯示進度
------------------------------------------------------------
using System;
using System.ComponentModel;
using System.Windows.Forms;

namespace test
{
public partial class frmB: Form
{
public frmB(BackgroundWorker worker)
{
InitializeComponent();
worker.ProgressChanged +=new ProgressChangedEventHandler(worker_ProgressChanged);
worker.RunWorkerCompleted +=new (worker_RunWorkerCompleted);
}

void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
this.Close();
}

void worker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
//lblStatus.Text = "";
}

//工作完成後執行的事件
public void OnProcessCompleted(object sender, EventArgs e)
{
this.Close();
}

}
另外,站長團上有產品團購,便宜有保證

熱點內容
微指令的編譯方法有哪一些 發布:2024-10-05 19:02:10 瀏覽:884
android離線定位 發布:2024-10-05 18:36:40 瀏覽:858
ipad4密碼忘記怎麼辦 發布:2024-10-05 18:36:07 瀏覽:237
黑莓加密天線 發布:2024-10-05 18:30:07 瀏覽:849
編程入行年齡 發布:2024-10-05 18:29:24 瀏覽:538
伺服器地址訪問不到 發布:2024-10-05 18:20:55 瀏覽:689
手機解鎖忘記密碼多少錢 發布:2024-10-05 18:14:25 瀏覽:785
linux亂碼問題 發布:2024-10-05 18:00:25 瀏覽:543
訪客儀需要電腦做伺服器嗎 發布:2024-10-05 17:57:57 瀏覽:10
怎麼在u盤設置密碼 發布:2024-10-05 17:55:23 瀏覽:580