- 注册时间
- 2014-10-17
- 最后登录
- 2014-10-28
- 阅读权限
- 20
- 积分
- 13
- 精华
- 0
- 帖子
- 2
|
小弟是新手,对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>
|
|