Actionscript 3.0 Перетаскивает изображение Loader, но появляется ошибка, что его невозможно преобразовать в видеоклип - PullRequest
0 голосов
/ 07 ноября 2010

У меня есть сценарий, который загружает внешнее изображение на сцену (у меня есть сценарий addChild() где-то еще), но я продолжаю получать сообщение об ошибке:

TypeError: Ошибка # 1034:Ошибка приведения типа: невозможно преобразовать flash.display :: Loader @ b1b7101 в flash.display.MovieClip.at project1_fla :: MainTimeline / drag ()

var my_loader:Loader = new Loader();
my_loader.load(new URLRequest("http://i54.tinypic.com/anom5d.png"));
my_loader.addEventListener(MouseEvent.MOUSE_DOWN, drag);

function drag(event:MouseEvent):void{
 var my_loader:MovieClip = MovieClip(event.target);
 my_loader.startDrag()
 my_loader.scaleX = my_loader.scaleY = .95;

Что я делаю, чтобы сделать изображение перетаскиваемым?* (Изображение загружается при запуске SWF, но изображение не запускается, потому что я добавил addChild () в оператор if (). Может ли быть так, что, поскольку изображение не загружено, оно не может быть мувиклипом?)

Ответы [ 2 ]

1 голос
/ 07 ноября 2010

В следующей строке есть пара ошибок.

var my_loader:MovieClip = MovieClip(event.target);

Во-первых, цель события имеет тип Loader, поэтому вы не сможете привести ее к мувиклипу. Во-вторых, вы обычно делаете этот тип принуждения при загрузке SWF, но вы загружаете PNG!

 var container:Sprite = new Sprite();
 addChild( container);

 my_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadingComplete);
 my_loader.load(new URLRequest("http://i54.tinypic.com/anom5d.png"));

 function onLoadingComplete(event:Event):void
 {
    container.addChild( event.currentTarget.loader.content );
    container.addEventListener(MouseEvent.MOUSE_DOWN, drag);
    //remove the listener here
 }

 function drag(event:MouseEvent):void{
     container.startDrag()
     container.scaleX =  0.95;
     container.scaleY = 0.95;
  }
0 голосов
/ 07 ноября 2010
var my_loader:Loader = new Loader();
addChild(my_loader);
my_loader.addEventListener(MouseEvent.MOUSE_DOWN, drag);
my_loader.load(new URLRequest("http://i54.tinypic.com/anom5d.png"));
function drag(event:MouseEvent):void{
 my_loader.startDrag()
 my_loader.scaleX =  0.95;
 my_loader.scaleY = 0.95;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...