Страница 1 из 2

Изображение НЕ следует за мышью. startDrag и stopDrag

Добавлено: 16 ноя 2012, 18:41
wierusna
Вот код

Код: Выделить всё

 var index:MovieClip = new MovieClip();addChild(index);setChildIndex(index, 0); var loaderContext:LoaderContext = new LoaderContext();loaderContext.checkPolicyFile = true;var avaStage:String;//адрес загружаемой картинки из xmlvar ava:Loader = new Loader();//loader картинки из xml var XMLLoader:URLLoader = new URLLoader();var XMLdata:XML = new XML();XMLLoader.addEventListener(Event.COMPLETE, xmlLoaded)function xmlLoaded(event:Event):void {    XMLdata = new XML(event.target.data);    mytree.dataProvider = new TreeDataProvider(XMLdata);        } XMLLoader.load(new URLRequest("http://mega-tv.do.am/XMLturaga/img.xml")); mytree.addEventListener(ListEvent.ITEM_CLICK, addClick);  function addClick (ev:ListEvent) { if (ev.item.src != null) {                removeChild(getChildAt(0));        avaStage = (ev.item.src);        var pictLdr:Loader = new Loader();        var pictURLReq:URLRequest = new URLRequest(avaStage);                                 pictLdr.load(pictURLReq) as MovieClip;                 addChild(pictLdr);        setChildIndex(pictLdr, 0);        pictLdr.addEventListener(MouseEvent.MOUSE_DOWN, startDraging);        pictLdr.addEventListener(MouseEvent.MOUSE_UP, stopDraging);}   }  function startDraging(e:MouseEvent):void{    e.currentTarget.startDrag();    } function stopDraging(e:MouseEvent):void{   e.currentTarget.stopDrag();  }  
Изображения добавляет, но они не хотят следовать за мышью. В чем проблема?
Вот демка http://mega-tv.do.am/XMLturaga/turaga2.swf

Re: Изображение НЕ следует за мышью. startDrag и stopDrag

Добавлено: 16 ноя 2012, 20:00
Александр
wierusna

Код: Выделить всё

ReferenceError: Error #1069: Не удалось найти свойство startDrag в flash.display.Loader; отсутствует значение по умолчанию.
Добавить картинку на мувиклип или спрайт.

Re: Изображение НЕ следует за мышью. startDrag и stopDrag

Добавлено: 16 ноя 2012, 22:37
wierusna
Спасибо! Получилось.
Не подскажите почему так все работает http://mega-tv.do.am/XMLturaga/turaga2.swf
А когда заливаю его в ВК, то XML не грузится( http://vk.com/app3236488

Код вот

Код: Выделить всё

 import com.yahoo.astra.fl.controls.treeClasses.*;import flash.net.URLRequest;import flash.display.Loader;import flash.xml.XMLDocument;import fl.events.ListEvent;import flash.display.Sprite;import flash.display.Bitmap;import flash.display.BitmapData;import flash.display.MovieClip;   var index:MovieClip = new MovieClip();addChild(index);setChildIndex(index, 0); var loaderContext:LoaderContext = new LoaderContext();loaderContext.checkPolicyFile = true;var avaStage:String;//адрес загружаемой картинки из xmlvar ava:Loader = new Loader();//loader картинки из xml var XMLLoader:URLLoader = new URLLoader();var XMLdata:XML = new XML();XMLLoader.addEventListener(Event.COMPLETE, xmlLoaded)function xmlLoaded(event:Event):void {    XMLdata = new XML(event.target.data);    mytree.dataProvider = new TreeDataProvider(XMLdata);        } XMLLoader.load(new URLRequest("http://mega-tv.do.am/XMLturaga/img.xml")); mytree.addEventListener(ListEvent.ITEM_CLICK, addClick);  function addClick (ev:ListEvent) { if (ev.item.src != null) {                //removeChild(getChildAt(0));        avaStage = (ev.item.src);        var pictLdr:Loader = new Loader();        var pictURLReq:URLRequest = new URLRequest(avaStage);                         var spr:Sprite=new Sprite()        spr.x=300;        spr.y=400;        addChild(spr)         pictLdr.load(pictURLReq) as MovieClip;                 //addChild(pictLdr);        spr.addChild(pictLdr)         setChildIndex(spr, 0);        spr.addEventListener(MouseEvent.MOUSE_DOWN, startDraging);        spr.addEventListener(MouseEvent.MOUSE_UP, stopDraging);}   }  function startDraging(e:MouseEvent):void{    e.currentTarget.startDrag();    } function stopDraging(e:MouseEvent):void{   e.currentTarget.stopDrag();  }      

Re: Изображение НЕ следует за мышью. startDrag и stopDrag

Добавлено: 17 ноя 2012, 10:16
Александр
wierusna
http://mega-tv.do.am/crossdomain.xml

Код: Выделить всё

<cross-domain-policy><allow-access-from domain="*.vkontakte.ru"/><allow-access-from domain="*.vk.com"/><allow-access-from domain="*.userapi.com"/></cross-domain-policy>

Re: Изображение НЕ следует за мышью. startDrag и stopDrag

Добавлено: 17 ноя 2012, 14:26
wierusna
Александр писал(а):wierusna
http://mega-tv.do.am/crossdomain.xml

Код: Выделить всё

<cross-domain-policy><allow-access-from domain="*.vkontakte.ru"/><allow-access-from domain="*.vk.com"/><allow-access-from domain="*.userapi.com"/></cross-domain-policy>
Странно, теперь грузится древовидное меню, но не загружаются картинки О_о

Может быть в

Код: Выделить всё

 loaderContext.checkPolicyFile = true; 
Поставить на false?

Re: Изображение НЕ следует за мышью. startDrag и stopDrag

Добавлено: 17 ноя 2012, 14:35
Alazaur
Напишите перед загрузкой

Код: Выделить всё

Security.loadPolicyFile("http://ваш_сайт.ru/crossdomain.xml");

Re: Изображение НЕ следует за мышью. startDrag и stopDrag

Добавлено: 17 ноя 2012, 14:59
wierusna
Alazaur писал(а):Напишите перед загрузкой

Код: Выделить всё

Security.loadPolicyFile("http://ваш_сайт.ru/crossdomain.xml");
не помогло

Re: Изображение НЕ следует за мышью. startDrag и stopDrag

Добавлено: 17 ноя 2012, 15:57
Alazaur
Способ 1:

Код: Выделить всё

Security.loadPolicyFile("http://ваш_сайт.ru/crossdomain.xml");var loader:Loader = new Loader();loader.load(new URLRequest("http://картинка.jpg"));addChild(loader);
Работает как локально, так и на сервере (в данном случае вконтакте).

Способ2:

Код: Выделить всё

var context:LoaderContext = new LoaderContext();context.securityDomain = SecurityDomain.currentDomain;context.applicationDomain = ApplicationDomain.currentDomain;var loader:Loader = new Loader();loader.load(new URLRequest("http://картинка.jpg"), context);addChild(loader);
Работает, только на сервере. При локальном тестировании будет выдавать ошибку.

Оба работают и не раз проверены. Если Вам не помогает, значит проверяйте путь до crossdomain.xml, сам код загрузки или в крайнем случае сервер (н-р: не наложен ли хостером блок на домен вконтакте).
Есть еще третий способ в обход политики безопасности, но это уже другая история)))

Re: Изображение НЕ следует за мышью. startDrag и stopDrag

Добавлено: 17 ноя 2012, 17:48
wierusna
Alazaur
1й способ при компиляции выдает такую ошибку, когда нажимаю на картинка 1
Отсутствует активный контекст безопасности.
2й способ тоже не помог

Спасибо за совет! Попробую другой хостинг ;)

Re: Изображение НЕ следует за мышью. startDrag и stopDrag

Добавлено: 17 ноя 2012, 18:10
wierusna
Вот блин! Нашел ошибку))
В XML вместо

Код: Выделить всё

<node label="картинка 1" src="1.jpg" />
Нужно было прописать

Код: Выделить всё

<node label="картинка 1" src="http://mega-tv.do.am/XMLturaga/1.jpg" />
Помогла ошибка при компиляции ///C|/Users/user/Desktop/папка/turaga.swf пытался загрузить file:///C|/Users/user/Desktop/папка/1.jpg.
Спасибо вам огромное!