unity之进度条

来源:互联网 发布:翻译文章的软件 编辑:程序博客网 时间:2024/04/27 19:15

欢迎来到我们的狗刨网,我们今天主要是自己根据自己写的来完成进度,首先我今天有点收获,要和大家一起分享。是那个进度条。


知识点:首先进度条用到的是GUI的内容,首先在类外面创建一个空的文本纹理,因为是进度条,是由两个空的文本纹理,然后定义一个当前的进度,再接着定义一个GUI的方法,在方法里面绘制两个文本域,说白了就是画两个长方形,然后还得定义一个绘制长条的宽度,所谓的宽度就是让当前走的进度乘以放在上面的空的文本纹理的宽度,这样就形成了一个进度条。


例如:

public Texture2D blood_blue; //定义一个绿血条2D文本纹理

public Texture2D blood_black;//定义一个黑色血条2D文本纹理

public float  HP=0f;//当前进度

void Update () {

if (HP <=100)

{

HP += Time.deltaTime*5;//这是根据时间增加进度

}

else if(HP>=100)//如果当前进度大于等于100,则进行跳转

{

Application.LoadLevel("login");

}

void OnGUI()

{

string dd = " ";

GUIStyle cc = new GUIStyle();

cc.normal.background = img;//设置背景图片

GUI.Label(new Rect(0, 0, 1350, 600), dd, cc);

if (HP<=100)

{

float blood_width = blood_blue.width * HP/100;//这是定义血的进度

GUI.DrawTexture(new Rect(100, 510, blood_black.width, 

blood_black.height), blood_black);//画进度条

GUI.DrawTexture(new Rect(100, 510, blood_width, blood_blue.height), blood_blue);

GUI.skin.label.fontSize = 30;//设置字体

GUI.color = Color.black;//设置颜色

GUI.Label(new Rect(1128, 510, 200, 50), (int )HP+ "%");

GUI.skin.label.fontSize = 13;

GUI.color = Color.red;

GUI.Label(new Rect(530,560,200,50),"正在加载.....请稍后.....");

}

}


欢迎来到我们的狗刨网,我们的狗刨网每天都会更新新的内容欢迎来我们的狗刨网浏览。

0 0
原创粉丝点击