Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   AssetLoader (http://www.flasher.ru/forum/showthread.php?t=118707)

Nemo_c 01.12.2008 19:53

AssetLoader
 
Комрады, будте здравы!

Нашёл универсальный загрузчик AssetLoader, что то не пойму как из него вытащить содержимое после загрузки.

автор пишет

что нужно так

Код AS3:

        var obj = new Object();
        obj["http://www.ayanray.com/myimage.jpg"] = {onComplete: handleImageLoadComplete};
        obj["http://www.ayanray.com/gallerylist.xml"] = {onComplete: handleXMLLoadComplete};
        new AssetLoader( obj );
 
        private function handleImageLoadComplete(obj:Object ):void{
 
                        trace(obj.asset);//[object Loader]
                        trace(obj.extra);//[object Object]
 
                }

не пойму как сие использовать. Подскажите плиз.

etc 02.12.2008 01:36

Лучше никак не использовать, данный класс от стандартов AS3 далек, как чукотка от Москвы.

Nemo_c 02.12.2008 08:52

__etc, тут таперича вопрос стоит не, использовать или нет, а понять как это чудо техники работает. Просто интересно.
А в чём конкретно состоит "грешность" этого класса. Ушёл от строгой типизации? использует var someVar вместо var:* someVar

etc 02.12.2008 12:46

Цитата:

Сообщение от Nemo_c (Сообщение 780955)
__etc, тут таперича вопрос стоит не, использовать или нет, а понять как это чудо техники работает. Просто интересно.

А исходный код посмотреть?

Цитата:

Сообщение от Nemo_c (Сообщение 780955)
А в чём конкретно состоит "грешность" этого класса. Ушёл от строгой типизации? использует var someVar вместо var:* someVar

Одного этого уже достаточно, чтобы не использовать это.

Nemo_c 02.12.2008 13:01

Сам класс
Документация


Мне было любопытно как можно с помощи него загрузить несколько картинок и хмл. За один раз.

Я думаю этот класс можно переписать и несколько облагородить. Уйти от нестрогой типизации. Меня подкупает идея загружать всё через один интерфейс и пачкой.
.....
в принципе при работе с этим классом сразу настораживает дцать варнингов в FB3

wvxvw 02.12.2008 13:11

Если нужен "универсальный загрузчик", так уж лучше использовать SWFLoader / Image флексовый... этот класс -- любительщина какая-то.

Nemo_c 02.12.2008 13:17

wvxvw, ну "универсальный загрузчик" как бы нужен в перспективе. Вчера наткнулся на ЭТО и три часа "втыкал" как им пользоваться и пытался понять "логику" написания и где он прячет то что загрузил.

wvxvw 02.12.2008 13:51

Да вообще задача надуманная... зачем нужно загружать с помощью одного класса и звук и картинки, например? Есть, скажем, логика в том, чтобы избежать одновременные попытки загрузки, но этот класс это все равно не делает... Кроме того он просто плохо написан. Ну, например:
Код AS3:

package com.ayanray.utils 
{
        public function getExtension ( str:String ) {
                var parts:Array = str.split(/\./g);
                return parts[parts.length-1].toLowerCase();
        }
}

должно быть как минимум:
Код AS3:

package com.ayanray.utils 
{
        public function getExtension(str:String):String
        {
                if (str.indexOf(".") < 0) return "";
                try {
                        return str.match(/[^\.]+$/g)[0].toLowerCase();
                } catch (err:Error) {
                        return "";
                }
        }
}

Но, в принципе, и назначение этой ерунды и применение такие же ущербные как и весь остальной код... т.е. в других системах кроме Виндовс расширение не обязательно, да и в Виндовс совсем не обязано соответствовать типу файла. Кроме того, например, для JPG файлов существует вполне легитимное расширение JPEG ну и т.д. и т.п. Кроме того файл можно получить по запросу к серверному скрипту типа getmyfile.php?fileid=somefile...
Вобщем, серьезно, если просто интересно разобраться в чужем коде ради спортивного интереса - ну, не знаю, задавайте более конкретные вопросы о том, что именно не понятно, а если вам нужно для работы - это чудо использовать - только себе хуже сделать.

Nemo_c 02.12.2008 14:14

wvxvw, я сейчас, пока ищу работу, и пока есть время прокачиваю свои навыки программирования ищу всякие интересные программерские фишки, ходы, пытаюсь выработать "правильный" стиль программирования. Практикую применение шаблонов.
И набиваю этим делом портфолио. Этот класс показался, вначале, мне интересным. Как сейчас выяснилось это гогно. Перейду к более полезным вещам. Допишу пазл через MVC :-)

Добавлено через 42 минуты
вот ещё вопрос, задам здесь чтобы не плодить темы.

Код AS3:

pImage = new Bitmap(imageLoader.content);

на это выдаёт ошибку.

Код AS3:

pImage = Bitmap(imageLoader.content);

а так нет

Почему так?

Код AS3:

public class PuzzleSlicer extends Sprite
 
        { 
                public static const  IMAGE_SRC:String = "800x600.JPG";
                private var imageLoader:Loader;
                private var requestURL:URLRequest;
                private var pImage:Bitmap;
 
                public function PuzzleSlicer()
                {
                        imageLoader = new Loader();
                        imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadImg);
                        requestURL = new URLRequest(IMAGE_SRC);       
                        // Load the image
                        imageLoader.load(requestURL);       
 
                }
                private function onLoadImg(evt:Event):void{
 
                pImage = Bitmap(imageLoader.content);// если писать так то ошибки нет
                pImage = new Bitmap(imageLoader.content);//выдаёт ошибку
//1067: Implicit coercion of a value of type flash.display:DisplayObject to an unrelated type flash.display:BitmapData
                addChild(pImage);       
 
                }
        }
}


fljot 02.12.2008 15:35

посмотрите загрузчик BulkLoader... я в своё время скачал, убрал несколько багов, добавил пару необходимых для себя моментов - и пользуюсь. если память не подводит, автор грозился его как-то капитально переработать.. хотя уже тогда возможностей хватало сполна


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

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