Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   отображение изображения (http://www.flasher.ru/forum/showthread.php?t=130831)

dixlofos 06.10.2009 17:19

отображение изображения
 
У меня есть ссылка на картинку, к примеру этот милый кактус:
http://pic.************/uploads/091006/iPLkdgTS7u.jpg
Ссылка лежит в ХМЛ листе, как мне сделать так что бы эта ссылка отображалась не как ссылка, а как картинка?

PgeorgyV 06.10.2009 17:29

загрузить xml(URLLoader), загрузить картинку по ссылке(Loader) и добавить в список отображения(addChild) или вставить в htmlText с помощью тэга img(TextField), по ключевым словам в документацию

dixlofos 06.10.2009 18:18

Код AS3:

var loader:Loader;
loader = new Loader();
 
var ppp:String = "http://pic.************/uploads/091006/iPLkdgTS7u.jpg";
 
loader.load(ppp);
addChild(loader);

ну вобщем и целом как-то так, но нечего не работает, компилятор выдает ошибку в шестой строчке
"1067: Implicit coercion of a value of type String to an unrelated type flash.net:URLRequest."

random13 06.10.2009 18:37

Цитата:

Сообщение от dixlofos (Сообщение 855897)
Код AS3:

var loader:Loader;
loader = new Loader();
 
var ppp:String = "http://pic.************/uploads/091006/iPLkdgTS7u.jpg";
 
loader.load(ppp);
addChild(loader);

ну вобщем и целом как-то так, но нечего не работает, компилятор выдает ошибку в шестой строчке
"1067: Implicit coercion of a value of type String to an unrelated type flash.net:URLRequest."

вы не дождались завершения загрузки это раз, два пытаетесь добавить не картинку на сцена а сам лодер, он мягко говоря невидим

RaulEndimion 06.10.2009 18:38

Должно быть где-то так:

Код AS3:

 
private function loadChild() {
    var _loader:Loader = new Loader();
    _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onLoadCompleteObj);
    _loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onLoadErrorHandler);
    _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onLoadErrorHandler);
    _loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, this.onLoadProgressHandler);
 
    var req:URLRequest = new URLRequest('http://pic.************/uploads/091006/iPLkdgTS7u.jpg');
 
    addChild(_loader);
    try {
        _loader.load(req);
    } catch (error:Error) {
        onLoadErrorHandler(null);
    }
}
 
private function onLoadCompleteObj(event:Event) {
    trace('load complete');
}
 
private function onLoadErrorHandler(event:Event):void {
    trace("error: " + event);
}
 
private function onLoadProgressHandler(event:ProgressEvent) {
    trace(event.bytesLoaded,event.bytesTotal);
}


Neirol 06.10.2009 21:33

RaulEndimion не пугайте новичка =)
Все что нужно, это вытянуть нужный атрибут, а точнее его значение, из XML-ки, загрузить через лоадер изображение и отобразить его на экране.

XML объяснять не буду, предположим что у нас уже есть адрес в переменной url.
Код AS3:

var picLoader:Loader = new Loader();
picLoader.load(new URLRequest(url));
addChild(picLoader);

Эти три строки должны быть написаны в обработке события - complete, т.е. по завершению загрузки XML файла.

dixlofos 06.10.2009 22:46

Код AS3:

        var pictLdr:Loader = new Loader(); 
        var pictURLReq:URLRequest = new URLRequest(pictURL);
        pictLdr.load(pictURLReq);
        addChild(pictLdr);

эх блин, а я уже в справочнике код нашел.. )
Все равно спасибо всем []}

Добавлено через 8 минут
Только я че-го то не понял, как мне теперь маштабировать картинку?
Код AS3:

pictLdr.height = 90%;

пишу, и она просто исчезает, хотя ошибок некаких не выдает компилятор..

RaulEndimion 06.10.2009 23:53

А разве можно высоту или ширину задать в процентах??? :eek:
Тогда уж лучше что-то типа этого:
Код AS3:

pictLdr.height = 0.9*this.height;

если, конечно, родительский объект имеет реальную высоту. Или использовать stageWidth, stageHeight

Felicast 06.10.2009 23:59

Код AS3:

pictLdr.content.height = 90;//точно
pictLdr.content.scaleY = 0.9;//в процентах

но только после того как картинка загрузится (в обработчике события COMPLETE)


Часовой пояс GMT +4, время: 03:04.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.