[编辑] 请参阅代码。 我可以加载图像,我可以加载影片剪辑。图像缩放并平移到用户输入。但是,影片剪辑(mcInfo)需要“附着”到图像上的一个点,以确保它缩放并平移图像。 造成这种情况的原因是因为图像是一个大型灌溉设施,由许多不同的产品组成。信息图标(mcInfo)应该是可点击的动画片段,以显示该产品的信息。 图像上会有很多这样的图标。但它必须与用户想要查看的产品相关联。
var spImage:Sprite = new Sprite(); //load image to sprite "I think"
board.addChild(spImage);
function initPic(e:Event):void {
infoBox.text = "";
infoBox.visible = false;
image = Bitmap(loader.content);
minScale = boardWidth/image.width;
image.scaleX = minScale;
image.scaleY = minScale;
spImage.addChild(image);// the loaded image
spImage.addChild(mcIn); // custom zoom in cursor
spImage.addChild(mcOut); // custom zoom out cursor
spImage.addChild(mcInfo); //information icon. This is the movieclip that I need to set at a point
spImage.addEventListener(MouseEvent.MOUSE_DOWN, startDragging);
stage.addEventListener(MouseEvent.MOUSE_UP, stopDragging);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, initPic);
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, updateInfo);
loader = null;
board.filters = [ new DropShadowFilter() ];
spImage.addEventListener(MouseEvent.CLICK, zoom);
}
答案 0 :(得分:0)
将加载的图片放入Sprite
,然后在同一DescriptionObject
内添加所需的Sprite
。从现在开始,对Sprite
进行所有缩放和平移,而不是加载的图像。
当Event.COMPLETE
触发loaded.contentLoaderInfo
事件时,您的图片将完全可用。在initPic
函数内执行:
theSprite.addChild(event.target.content) //adds your image to the Sprite object
theSprite.addChild(description);
description.x = 100;
description.y = 200;