当前位置:首页 » 操作系统 » 进度条源码

进度条源码

发布时间: 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();
}

}
另外,站长团上有产品团购,便宜有保证

热点内容
虚幻4脚本 发布:2024-10-05 16:46:29 浏览:205
c可以用来编译系统软件吗 发布:2024-10-05 16:22:26 浏览:19
U盘和存储器 发布:2024-10-05 16:22:04 浏览:898
cmdc语言 发布:2024-10-05 15:58:32 浏览:553
服务器怎么弄公网ip 发布:2024-10-05 15:57:02 浏览:642
设备配置在什么地方 发布:2024-10-05 15:44:59 浏览:251
matlab外部接口编程 发布:2024-10-05 15:36:58 浏览:366
C事件编程 发布:2024-10-05 15:15:43 浏览:643
一台服务器出现两IP 发布:2024-10-05 15:10:05 浏览:928
md5加密算法c 发布:2024-10-05 15:05:40 浏览:764