您的位置:首页 > 移动开发 > Unity3D

Unity3D 进度条组件

2015-05-20 19:35 120 查看
接口

public static GameObject createSprite(GameObject parent, string name, UIAtlas atlas, string spriteInAtlas,

Vector3 size, Vector3 pos)

{

int depth = NGUITools.CalculateNextDepth(parent);

UISprite sprite = NGUITools.AddWidget<UISprite>(parent);

sprite.depth = depth;

sprite.name = name;

sprite.atlas = atlas;

sprite.spriteName = spriteInAtlas;

GameObject gameObject = sprite.gameObject;

Transform transform = gameObject.transform;

transform.localPosition = pos;

sprite.width = (int)size.x;

sprite.height = (int)size.y;

return gameObject;

}

public static GameObject createProgressBar(GameObject parent, string name, Vector3 pos, UIAtlas atlas,

string bgSpName, Vector3 bgSize, string fgSpName, Vector3 fgSize, bool makePixelPerfect)

{

int depth = NGUITools.CalculateNextDepth(parent);

GameObject go = NGUITools.AddChild(parent);

go.name = name;

go.transform.localPosition = pos;

UISprite bg = null;

if (atlas.GetSprite(bgSpName) != null)

{

bg = go.AddComponent<UISprite>();

bg.depth = depth;

bg.atlas = atlas;

bg.spriteName = bgSpName;

bg.width = (int)bgSize.x;

bg.height = (int)bgSize.y;

bg.type = UIBasicSprite.Type.Sliced;

if (makePixelPerfect)

{

bg.MakePixelPerfect();

}

}

UISprite fg = createSprite(go, "foreground", atlas, fgSpName, fgSize, Vector3.zero).GetComponent<UISprite>();

fg.type = UIBasicSprite.Type.Sliced;

fg.fillDirection = UIBasicSprite.FillDirection.Horizontal;

if (makePixelPerfect)

{

fg.MakePixelPerfect();

}

UISlider slider = go.AddComponent<UISlider>();

slider.value = 0f;

slider.foregroundWidget = fg;

slider.backgroundWidget = bg;

slider.fillDirection = UIProgressBar.FillDirection.LeftToRight;

return go;

}

}

调用createProgressBar,返回的GameObject获取UISlider组件,对value赋值即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: