Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Размеры загружаемой картинки (http://www.flasher.ru/forum/showthread.php?t=151046)

quazare 21.02.2011 20:57

Размеры загружаемой картинки
 
загружаю картинку в пустой мувик:

размеры картинки 1280х800

Код AS1/AS2:

_root.wplace.createEmptyMovieClip("image", _root.wplace.getNextHighestDepth());
_root.wplace.image.loadMovie("img/pix001.jpg");
_root.wplace.image._width =100;
_root.wplace.image._height =100;

подскажите пожалуйста как ее масштабировать? Вышеуказанный код не работает со строками _width и _height

dark256 21.02.2011 21:05

Код AS1/AS2:

function miniLOADER( URLL, mov ){
 
                var my_mcl:MovieClipLoader = new MovieClipLoader()        //Создаём объект Movie Clip Loader
                var my_lst:Object = new Object()                        //Создаём объект класса Object -cлушаетель событий,от Movie Clip Loader
                my_mcl.addListener(my_lst)       
 
                my_mcl.loadClip( URLL, mov )
 
                my_lst.onLoadStart = function( mov:MovieClip) {}
                my_lst.onLoadProgress = function( mov:MovieClip, loadedBytes:Number, total:Number) {}
                my_lst.onLoadComplete = function( mov:MovieClip ) {}
                my_lst.onLoadInit = function( mov:MovieClip)
                        {
                          ///////// ЗДЕСЬ ДЕЛАЕМ С КАРТИНКОЙ ВСЕ ЧТО В ГОЛОВУ                       
                }
                my_lst.onLoadError = function( mov:MovieClip, errorCode:String, httpStatus:Number){
                        trace( "LoadError:"+errorCode +": "+URLL )
                }       
        }


quazare 21.02.2011 21:19

большущее спасибо!

а еще не подскажете - как правильно равномерно уменьшиьт картинку?

Код AS1/AS2:

my_lst.onLoadInit = function( mov:MovieClip) 
{
//mov._xscale*=0.5;
mov._yscale*=0.5
}

вот так искажает. нужно считать коэффициент уменьшения или есть более грамотный способ?

спасибо!

mooncar 21.02.2011 22:03

Код AS1/AS2:

my_lst.onLoadInit = function( mov:MovieClip) 
{
  mov._xscale = mov._yscale = 50
  mov.forceSmoothing = true ;//немного сгладит и уберет искажения от перемасштабирования
};

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

dark256 21.02.2011 22:58

Гыыыыы.....а фиг его знает :)
В примере было именно так.
По идее порядок описания функций во флэше дело мягко говоря изрядно произвольное, вроде бы как. НО. Если загрузку именно надо ПОСЛЕ всех описаний, и это действительно играет роль, то я приму к сведению немедленно.

А так я просто скопипэйстил из примера, который под руку подвернулся.
Там оно работает ну и ладно, как бы ;)

mooncar 21.02.2011 23:16

Код AS1/AS2:

my_lst.onLoadInit = function( mov:MovieClip)  { .... };

В данном случае назначается ссылка на анонимную функцию-обработчик, поэтому порядок имеет значение.
Кстати, поэтому тут нужна точка с запятой после закрывающей фигурной скобки.

dark256 22.02.2011 00:20

О! Учту. Но ведь работает же. Это загрузчик аватар маих_друзей вконтакта.
То есть даже на выборке из 200 картинок и созданного в цикле соотв-го кол-ва лоадеров, я никаких траблов не ощущаю.
Интуитивно понимаю что ЛОАД надо в конец, но тут вот оставилкак есть.
Кстати ";" вставляю тольок в import, System и в бесскобоном варианте if else. Так я тоже не понял до сих пор при каком условии оно надо. Перестал ставить этот знак где-то с год :)
Разницы не ощутил. Хотя, конечно,я классы не пишу.

quazare 22.02.2011 08:47

функция в (2) работоспособна. За подсказку (4) большое спасибо!!!
Пытаюсь изобрести растягиваение мувика -картинки в зависимости от размеров рабочего окна браузера - почти получилось :)


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

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