EUI中控件使用过程中遇到的问题

1:ProgressBar格式化的问题

之前如果你使用的是默认的ProgressBar的话,显示出来的效果应该是这样
不过有时候,我们游戏需要的是这种格式

这是一种百分比格式,那怎么修改呢,有人说,直接修改ProgressBar里面的labelDisplay中的Text属性
比如这样this._progressBar.labelDisplay.text="100%";,我很负责任的告诉你,这个是不行的。

后来查找到API中有个labelFunction的方法,他可以对显示文本进行格式化操作
然后我们实验了下
 this._progressBar.labelFunction= this.barLabelFunction;
private barLabelFunction(value:number,maximum:number):string {
            return Math.ceil(value/maximum*100)+"%";
        }

结果这样定以后,的确可以显示百分比了,不过这样做还是有个问题,就是当value大于maximum的时候,比如value是200,maximum是100
如果按照上面的方法,计算出来的显示只会是100%。

所以我们需要对labelFunction进行进一步的修改
private barLabelFunction(value:number,maximum:number):string {
            return Math.ceil(parseInt(this["name"])/maximum*100)+"%";
        }
不要问我为什么是parseInt(this["name"]),是因为这里面的this是指ProgressBar这个控件了。
然后在设置ProgressBarValue的同时,我进行了this._progressBar.name = this._currentValue+"";

这样就OK了~

2:List+Scroller聊天滚动到最底部问题(就是显示最新添加的聊天内容)

相信我们在开发一些游戏的时候都会遇到滚动定位问题,这里我结合List和Scroller给出一个解决办法可以自动定位到最后一行
this._list_chat.dataProvider = this._msgList;
            this._list_chat.validateNow();
            this._list_chat.scrollV = this._list_chat.contentHeight - this._list_chat.height;

3:Group穿透点击问题
   比如你在wing中拼界面的时候,难免会用到group来进行分组,有时候你会遇到这种情况

勾线的区域是一个Group,自己本身占据了比较大的位置,如果你就这样不去处理的话,那后面的按钮你是都点不到的,
所以这个时候我们要对Group进行一个处理,让鼠标或者手指能穿透透明区域。其实很简单啦,就是设置Group的touchThrough=true就可以了
同样的道理可以适用于Image组件,如果你的Image图片,有比较大的透明区域而且你又不希望点击image的透明区域触发点击事件
那直接设置image的PixelHitTest为true就好了,顾名思义是进行了像素判断,检测点击点的像素值是否都是0. 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值