1
我有一个图像库加载一个细节图像,然后根据图像尺寸在图像的一侧绘制一条线。点击图像返回到主图像缩略图列表,然后单击一个拇指将另一图像加载到详细信息持有者中。一切正常,除了线条,而不是消失在细节图像卸载,积累。有没有办法清除lineDrawing MovieClip中的内容而无需将其从舞台上移除,以便我可以在其中绘制一条新线?我已经尝试过MovieClip上的removeChild,但是线条完全消失,与在setupDetail函数顶部放置lineDrawing.clear()一样。这是我的(相关的)代码到目前为止,任何援助将不胜感激,我很难过!从MovieClip中删除内容(图形线)
var detailImage:Loader = new Loader();
var lineDrawing:MovieClip = new MovieClip();
setupDetail();
function setupDetail():void {
detail.visible = false;
detail.buttonMode = true;
detail.closeMessage.mouseEnabled = false;
detail.addChild(detailImage);
detailImage.contentLoaderInfo.addEventListener(Event.COMPLETE, fullyLoaded);
// make sure detail is above the gallery
addChild(detail);
detail.addEventListener(MouseEvent.CLICK, onCloseDetail, false, 0, true);
}
function fullyLoaded(evt:Event):void {
var imgHeight:int = evt.target.content.height;
var imgWidth:int = evt.target.content.width;
var hOffset:int = imgWidth + 5 + 27;
var vOffset:int = imgHeight + 5;
detail.addChild(lineDrawing);
if(imgWidth == 600) {
lineDrawing.graphics.lineStyle(3,0x9a9345);
lineDrawing.graphics.moveTo(28,vOffset);
lineDrawing.graphics.lineTo(626,vOffset);
}
else if(imgHeight == 600) {
lineDrawing.graphics.lineStyle(3,0x9a9345);
lineDrawing.graphics.moveTo(hOffset, 1);
lineDrawing.graphics.lineTo(hOffset, 599);
}
}
function onCloseDetail(evt:MouseEvent):void {
// only allow it to be closed if it is at least 90% opaque
if (detailImage.alpha>.9){
detailImage.unload();
TweenLite.to(detail,.5, {autoAlpha:0});
detailImage.unload();
detail.visible = false;
}
}
哇哦,谢谢,这工作完全置于onCloseDetail功能。再次感谢!!! – 2010-07-31 17:00:56