[]如何从代码中创建UI,progressbar

我想从代码中创建ProgressBar
1.我直接从图集中,设置skin,会报错
var progressBar=new ProgressBar();
progressBar.skin="commonUI/anniu05a.png"
progressBar.pos(100,100);
progressBar.value=0.5;
Laya.stage.addChild(progressBar);

后台:
Failed to load resource: net::ERR_FILE_NOT_FOUND(FILE///..../bin/commonUI/anniu05a$bar.png)
[warn]Retry to load:/......./bin/commonUI/anniu05a$bar.png
但能显示出来,
2.skin这个属性和graphiscs.darw有什么区别,效果都一样吗?
2.加载图片需要加$bar,这个是做什么的?
3.我能指定ProgressBar上层显示进度条的样式吗?比如是张图片
已邀请:

cuixueying

赞同来自:

你的报错是由于路径找不到导致的  
我先把我们的Demo链接发你,你先学习下,有不懂的问题我们再沟通:UI—progressBar

第一个问题:
       UI下的skin是组件的皮肤,graphics.draw是draw的图片纹理
       如果UI的组件为Image,更换Image的Skin和graphics.draw一张图片纹理效果是一样的
        如果UI的组件为button等有点击状态的组件时,更换button的skin会根据按钮的状态显示,而且该button自身具备的属性和方法与graphics,draw是不同的,包括纹理的显示。

第二个问题:
        每个UI组件都有自己的命名规则,这个是固定的,需要开发者遵守。你可以使用layaAir IDE新建一个项目,在项目中的laya/assets/comp目录下可以看到每个组件的皮肤和命名的定义
        参考:UI组件资源命名规则

第三个问题:
        你可以考虑用动态遮罩实现图片进度条显示,在IDE下制作progressBar,中间的进度条是根据progress$bar的拉伸实现的,所以如果是想显示图片的话,会导致变形。
 

要回复问题请先

商务合作
商务合作