加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex 3中的bug以及隐性问题

发布时间:2020-12-15 01:38:53 所属栏目:百科 来源:网络整理
导读:今天发现了一个很隐性的问题: private function downHandler(event:MouseEvent):void???? //对一个Image做侦听 { //??? trace(event.target.parent is Image,event.currentTarget); ??? var img:Image = event.target.parent; ??? ??? ??? ??? ??? var ds:D

今天发现了一个很隐性的问题:

private function downHandler(event:MouseEvent):void???? //对一个Image做侦听
{
//??? trace(event.target.parent is Image,event.currentTarget);
??? var img:Image = event.target.parent;
??? ??? ??? ???
??? var ds:DragSource = new DragSource();
??? var obj:Object = new Object();
??? obj = getItem(getGoodPos(skillList.mouseX));
//??? trace("second",ObjectUtil.toString(obj),"---",int(skillList.mouseX / 50 + 1))
??? ??? ??? ???
??? ds.addData(obj,"effect");
??? ds.addData("fromSkillList","action");
??? var proxy:Image = new Image();
??? proxy.source = img.source;
??? proxy.width = img.width;
??? proxy.height = img.height;
??? DragManager.doDrag(img,ds,event,proxy);
???
??? event.currentTarget.addEventListener(MouseEvent.MOUSE_UP,upHandler,true);??? ??? ???
??? //(event.currentTarget.stage).addEventListener(MouseEvent.MOUSE_UP,true);
??? evt = event.currentTarget as UIComponent;
??? trace(" image downHandler",evt)
}??? ??? ???
??? ??? ???
private function upHandler(event:MouseEvent):void
{
??? trace("upHandler",event.currentTarget);
??? //trace("upHandler",event.currentTarget,event.target.parent);
}

结果发现:每次双击时,upHandler函数有时执行,有时有不执行。经过细心观察发现:原来是拖拽代理扰的祸。它附在Image之上,导致Image侦听不到

upHandler函数。

通过用注释中的代码来替代后,就可以了。

flex中的bug:

var zoom:Zoom = new Zoom();
zoom.addEventListener(TweenEvent.TWEEN_START,effectStartHandler);
zoom.addEventListener(EffectEvent.EFFECT_END,effectEndHandler);

EffectEvent.EFFECT_START事件不起作用,所以用了TweenEvent.TWEEN_START,它的父类的事件。

?

?

在Panel组件中的titleBar中添加一个关闭按钮:

?

closeButton = new Button();
??? ??? ??? ??? closeButton.styleName = 'closeBtn';
??? ??? ??? ??? closeButton.width = 53;
??? ??? ??? ??? closeButton.height = 19;
??? ??? ??? ??? closeButton.x = width - 58;
??? ??? ??? ??? closeButton.y = 4;
??? ??? ??? ??? closeButton.addEventListener(MouseEvent.CLICK,closeButton_clickHanlder);
??? ??? ??? ??? closeButton.label = "关闭";
??? ??? ??? ??? titleBar.addChild(closeButton);

?

一般情况,只要设置了按钮的标签,按钮的长宽就会自适应标签的大小,但是在titleBar中,长宽一定要手动设置,否则长宽为零,按钮就会显示不出来!

?

一般性,向titleBar中添加组件必须手动设置长宽!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读