您可以将动画片段链接到Actionscript 3中外部加载图像上的某个点吗?

时间:2013-04-17 11:33:54

标签: actionscript-3 flash zoom movieclip pan

[编辑] 请参阅代码。 我可以加载图像,我可以加载影片剪辑。图像缩放并平移到用户输入。但是,影片剪辑(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);
}

1 个答案:

答案 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;