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赋值即可
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赋值即可
相关文章推荐
- Unity3D更新进度条
- DirectShow 制作在Unity3D中可以设置进度的视频播放插件
- Unity3D 获得GameObject组件的方法
- Unity3D 获取与设置对象Transform组件下的position,rotation
- Unity3D拖拉组件
- Unity3D 使用 WWW 加载场景并显示进度条
- vue2.0+SVG实现音乐播放圆形进度条组件,传入实时百分比实现圆圈进度动画效果
- unity3d官网手册翻译——(脚本部分)用组件控制物体
- Unity3D 改变对象下所有子对象的组件属性
- unity3d中Transform组件变量详解
- Unity3d 2d动画组件
- Unity3D研究之第一人称第三人称角色控制组件修改
- 基于Vue的事件响应式进度条组件
- 【Unity3D基础教程】给初学者看的Unity教程(二):所有脚本组件的基类 -- MonoBehaviour的前世今生
- Bootstrap进度条组件知识详解
- Unity3D中组件事件函数的运行顺序
- Unity3d制作Loading场景进度条
- 【Unity3D 游戏开发之二】高级组件(GUI:LABEL、SCROLLVIEW、TEXTFIELD…等)入门篇
- Unity3d开发(十六) 重写UGUI组件
- 【Android 应用开发】 自定义 圆形进度条 组件