lufy's legend

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 7742|回复: 2
打印 上一主题 下一主题

MOUSE_OUT时,如何调用removechild 方法

[复制链接]

1

主题

0

好友

13

积分

士兵

Rank: 1

跳转到指定楼层
楼主
发表于 2014-10-24 18:01:59 |只看该作者 |倒序浏览
小弟是新手,对lufylegend研究的不够,请大侠帮忙看下.
目前测试的是:有两个矩形,当我把鼠标放到对应的矩形上,在页面某个固定区域显示相应的图片,当鼠标移开时图片相应消失。
鼠标放到矩形上图片自动显示已经实现,但是鼠标移开时图片不能消失,请大侠帮忙看下,如何调用MOUSE_OUT 的removechild方法,十分感激:
//上传了运行截图


//****代码如下***
<!DOCTYPE html>  
<html>  
<head>  
<meta charset="UTF-8">  
<title>demo</title>  
</head>  
<body>  
<div id="mylegend">loading……</div>  
<script type="text/javascript" src="./lufylegend-1.9.0.min.js"></script>   
<script>  
    init(50,"mylegend",960,800,main);  
    function main(){  
        var canvasx = 960
        var canvasy = 800
        var link = new LLink("./images/filter_99.png","analysisGroup","red");
        link.text.text = "analysisGroup";
        link.x = 480
        link.y = 0;
        addChild(link);
        
        var link2 = new LLink("./images/filter_999.png",null,"blue");
        link2.text.text = "upperLayerOrientation";        
        link2.x = 10;
        link2.y = 100;
        addChild(link2);         
        drawLine((canvasx+link.text.getWidth())/2, link.y+link.text.getHeight(), link2.x+link2.text.getWidth()/2, link2.y);

    }

    LStage._linkList = new Array();
    LStage._isAddLinkEvent = false;
    LStage._addLinkEvent = function(event){
        for(var i in LStage._linkList){
            o = LStage._linkList;
            if(event.offsetX < parseInt(o.x) + parseInt(o.getWidth()) && event.offsetY < parseInt(o.y) + parseInt(o.getHeight()) + parseInt(Math.floor(o.text.size * 0.4)) && event.offsetX > parseInt(o.x) && event.offsetY > parseInt(o.y)){
                document.body.style.cursor = "pointer";
                return;
            }else{
                document.body.style.cursor = "default";
                //o.removeChild(o.loader);
            }
        }
    }
   
    function LLink(url,text,color,itemtype,type,font,size){
        var self = this;
        base(self,LSprite,[]);
        
        self.type = "LLink";
        self.url = url;
        self.openType = type || "blank";
        self.x = 0;
        self.y = 0;
        self.text = new LTextField();
        self.text.color = "black";
        //self.text.color = color || "black";
        self.text.font = font || "urf-8";
        self.text.size = size || 12;
        self.text.x = 0;
        self.text.y = 0;
        self.text.text = text || url;
        self.addChild(self.text);
        
        self.back = new LSprite();
        self.back.graphics.drawRect(1,color,[-1,-1,self.text.getWidth()+2,self.text.getHeight()+2],true,"transparent");
        self.addChild(self.back);
        self.loader = new LLoader();
        self.addChild(self.loader);

        LStage._linkList.push(self);

        self.addEventListener(LMouseEvent.MOUSE_DOWN,self._jump);
        self.addEventListener(LMouseEvent.MOUSE_OVER,self._over);//添加MOUSE_OVER鼠标事件
        self.addEventListener(LMouseEvent.MOUSE_OUT,self._out);
//添加MOUSE_OUT鼠标事件

        if(LStage._isAddLinkEvent == false){
            LEvent.addEventListener(LGlobal.object,LMouseEvent.MOUSE_MOVE,LStage._addLinkEvent);
            LEvent.addEventListener(LGlobal.object,LMouseEvent.MOUSE_OUT,LStage._addLinkEvent);
            LStage._isAddLinkEvent = true;
        }
    }
    LLink.prototype._jump = function(event,self){
        var openType = "_" + self.openType;
        window.open(self.url, openType);
    }
   
    //********************** start mouse over ************//   
    LLink.prototype._over = function(event,self){
        self.loader.addEventListener(LEvent.COMPLETE, loadBitmapdata);
        self.loader.load(self.url, "bitmapData");
    }
   
    function loadBitmapdata (event) {
        var bitmapdata = new LBitmapData(event.target);
        var bitmap = new LBitmap(bitmapdata);
        bitmap.y = 150;
        bitmap.scaleX =0.5;
        bitmap.scaleY =0.5;
        addChild(bitmap);
    }
    //********************** end mouse over ************//

   
   
    LLink.prototype._out = function(event,self){
        self.removeChild(self.loader);
    }

   
    /*
    function rmBitmap(event,self){
     self.removeEventListener(LMouseEvent.MOUSE_OUT,loadBitmapdata);
    }*/     

   
    //draw red line
    function drawLine(startX,startY,endX,endY){
        var shape = new LShape();
        addChild(shape);
        shape.graphics.drawLine(2, "#ff0000", [startX,startY,endX,endY]);
    }
   
</script>  
</body>  
</html>


pic.jpg (28.83 KB, 下载次数: 1130)

pic.jpg

回复

使用道具 举报

37

主题

8

好友

9309

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

沙发
发表于 2014-10-25 13:49:56 |只看该作者
其实lufylegend.js里的LLoader和AS有些不同,lufylegend.js中的LLoader只用来读取资源,不能用来显示
不回答与技术和引擎不相关的问题
回复

使用道具 举报

1

主题

0

好友

13

积分

士兵

Rank: 1

板凳
发表于 2014-10-28 13:40:24 |只看该作者
谢谢!通过定义bitmap 对象为LLink的属性解决了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

防止垃圾广告,请填写任意字符

Archiver|lufy's legend

GMT+8, 2024-4-20 08:13 , Processed in 0.049415 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部