unity进度条,物品随机掉落
2015-01-20 20:58
1216 查看
进度条
进度条用到的是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),"正在加载.....请稍后.....");
}
}
随机掉落物品
public GameObject chest;
//public GameObject gold;//声明一个公共的金币游戏对象
//public GameObject blood;//声明一个公共的血瓶游戏对象
public GameObject hero;//声明一个公共的主角游戏对象
public GameObject[] mouse; //定义一个数组来添加需要掉落的物品
void OnTriggerEnter(Collider col)
{
if (col.tag == "Player")
{
AnimationToWorking();
GameObject clone = mouse[Random.Range(0, mouse.Length)]; //当盒子触碰到标签为Player时 建立一个数组长度
Destroy(this.gameObject, 1f); // 1秒后销毁报销
GameObject.Instantiate(clone, transform.position, Quaternion.identity); //创建物品 在宝箱原有的位置
}
}
更多精彩请到:http://www.gopedu.com/
进度条用到的是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),"正在加载.....请稍后.....");
}
}
随机掉落物品
public GameObject chest;
//public GameObject gold;//声明一个公共的金币游戏对象
//public GameObject blood;//声明一个公共的血瓶游戏对象
public GameObject hero;//声明一个公共的主角游戏对象
public GameObject[] mouse; //定义一个数组来添加需要掉落的物品
void OnTriggerEnter(Collider col)
{
if (col.tag == "Player")
{
AnimationToWorking();
GameObject clone = mouse[Random.Range(0, mouse.Length)]; //当盒子触碰到标签为Player时 建立一个数组长度
Destroy(this.gameObject, 1f); // 1秒后销毁报销
GameObject.Instantiate(clone, transform.position, Quaternion.identity); //创建物品 在宝箱原有的位置
}
}
更多精彩请到:http://www.gopedu.com/
相关文章推荐
- unity学习之飞机大战制作 关键点(四) 设置敌机和奖励物品的生成和随机
- [Unity]空心圆范围内随机生成物品
- 宝箱的随机掉落物品
- [置顶] Unity-AI(Sprite随机运动)
- Unity 3D 实现拾取物品功能(一)
- Unity随机Prefab,自动前往某点处理
- Unity粒子随机赋予材质
- [Unity]背包效果-使用NGUI实现物品的拖拽效果Drag
- Unity带进度条加载场景及场景变暗的解决方法
- 随机物品权重算法DEMO
- Unity 的一道面试题 随机颜色
- Unity 摇一摇震动并随机播放音乐
- Unity随机Prefab,自动前往某点处理
- Unity 光标控制进度条Slider
- Unity3d异步记载场景&制作Loading场景进度条
- Unity LZMA GZIP 压缩、解压文件 和 打包文件夹 (支持进度回调)
- 【unity实用技能】往avatar身边放置一个物体(随机)
- Unity 利用协同程序实现场景切换时加载进度的监控
- 【Unity】加载Loading场景进度条slider平滑问题
- Unity随机镜头切换,可旋转,可拉近拉远