纳金网

标题: 【转载】游戏中的loading条 [打印本页]

作者: Zack    时间: 2012-11-23 11:59
标题: 【转载】游戏中的loading条
using UnityEngine;

using System.Collections;

/**

* 进度条

* */

public class BloodBarTest: MonoBehaviour {

public GUISkin theSkin;

public float bloodValue = 0.0f;

private float tmpValue;

private Rect rctBloodBar;

private Rect rctUpButton;

private Rect rctDownButton;

private bool onoff;

public  GUIStyle loadStyle;

public  Texture2D roleImg;



public  Texture2D leftLoad;

public  Texture2D rightLaod;

public  Texture2D logoImg;



public Transform curTransform;

private Rect roleRect;

private Rect logo;

public GUIStyle noStyle;

// Use this for initialization

void Start () {

   rctBloodBar = new Rect (20,0,800,20);

   rctUpButton = new Rect (50,20,40,20);

   rctDownButton = new Rect (50,50,40,20);

   tmpValue = bloodValue;

      roleRect=new Rect(20,225, 80, 80);

   logo=new Rect(300,100,logoImg.width,logoImg.height);

}



void OnGUI (){

   GUI.skin = theSkin;



   GUI.Box(logo,logoImg,noStyle);

   if (GUI.Button (rctUpButton,"+")){

    tmpValue -=0.1f;

   }

   if (GUI.Button (rctDownButton,"-")){

    tmpValue += 0.1f;

   }

if (bloodValue > 0.0f) tmpValue = 0.0f;

if (bloodValue < -1.0f) tmpValue = -1.0f;



   bloodValue = Mathf.Lerp(bloodValue,tmpValue,0.05f);



  roleRect.x=bloodValue*(-800);

  GUI.Label(roleRect, roleImg);



   //Debug.Log (bloodValue + " " + tmpValue);

  //GUI.VerticalScrollbar(rctBloodBar, 1.0f, bloodValue,0.0f, 1.0f,GUI.skin.GetStyle("verticalScrollbar"));

  //GUI.HorizontalScrollbar(rctBloodBar, 1.0f, bloodValue,1.0f, 0.0f,GUI.skin.GetStyle("horizontalScrollbar"));

  GUI.BeginGroup(new Rect(20, 300, 850, 30));

    GUI.HorizontalScrollbar(rctBloodBar, 1.0f, bloodValue,1.0f, 0.0f,GUI.skin.GetStyle("horizontalScrollbar"));

    GUI.Label(new Rect(10, -10, leftLoad.width, leftLoad.height), leftLoad);

    GUI.Label(new Rect(810, -10, rightLaod.width, rightLaod.height), rightLaod);

  GUI.EndGroup();



  GUI.Label(new Rect(400,320,500,40),"Loading......"+Mathf.Ceil(Mathf.Abs(bloodValue)*100)+"%");

}

void tranformPostion(float pos){

  roleRect.x=pos;

}

// Update is called once per frame

void Update () {



}



void Awake() {

      SendMessage("tranformPostion", bloodValue);

    }

}

作者: 艾西格亚    时间: 2012-11-23 14:55
不错,感谢分享!
作者: 冰点    时间: 2012-11-23 16:06
wed 3d 纳金网
作者: may    时间: 2012-11-30 03:06
支持楼主




欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5