Форум 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=113048)

scarbo 17.06.2008 13:04

Выгрузка клипа
 
Можно ли как-нтбудь отследить выгрузку клипа,и после в тот же клип контейнер загрузить другой клип.Вот код:
Код:

import mx.transitions.Tween;
import mx.transitions.easing.*;
import flash.display.BitmapData;
import flash.geom.*;//импорт нужных классов
play_mc.useHandCursor = false;//отменяем руку на мышаре
var my_mcl:MovieClipLoader = new MovieClipLoader();
my_mcl.loadClip("1.jpg", cont_mc);
play_mc.onPress = function(){//начинаем издеваться
        cont_mc.varTween2 = new Tween(cont_mc, "_xscale", Regular.easeOut, cont_mc._xscale, 200, 1, true);
        cont_mc.varTween1 = new Tween(cont_mc, "_yscale", Regular.easeOut, cont_mc._yscale, 200, 1, true);
        cont_mc.varTween = new Tween(cont_mc, "_alpha", Regular.easeOut, cont_mc._alpha, 0, 1, true);
        cont_mc.varTween.onMotionFinished = function() {
                my_mcl.unloadClip("1.jpg", cont_mc);
        };
}

Следующею картинку удается загрузить только в другой клип контейнер,а картинок много,можно ли в один все это загружать?

chingachgoog 17.06.2008 15:00

А что в конечном итоге надо?
Если просто грузить по-очереди клипы (картинки) в контейнер, то и не надо выгружать - сразу, как требуется, в этот контейнер грузить следующую порцию (предыдущий сам выгрузится).

scarbo 17.06.2008 20:52

Да,именно это и надо,но так не грузиться.

chingachgoog 17.06.2008 21:46

А где это видно?

Котяра 18.06.2008 00:05

Код:

import mx.transitions.Tween;
import mx.transitions.easing.*;
import flash.display.BitmapData;
import flash.geom.*;//импорт нужных классов
play_mc.useHandCursor = false;//отменяем руку на мышаре
function loadClip(){
var my_mcl:MovieClipLoader = new MovieClipLoader();
my_mcl.loadClip("1.jpg", cont_mc);
}

play_mc.onPress = function(){//начинаем издеваться
        cont_mc.varTween2 = new Tween(cont_mc, "_xscale", Regular.easeOut, cont_mc._xscale, 200, 1, true);
        cont_mc.varTween1 = new Tween(cont_mc, "_yscale", Regular.easeOut, cont_mc._yscale, 200, 1, true);
        cont_mc.varTween = new Tween(cont_mc, "_alpha", Regular.easeOut, cont_mc._alpha, 0, 1, true);
        cont_mc.varTween.onMotionFinished = function() {
                my_mcl.unloadClip("1.jpg", cont_mc);       
loadClip() // сразу работать не будет нужно поколдовать с областями видимости итп};
}

А вообще используйте событие мувклиплоадера onInit или onComplite, а то не понятно когда издевательства стоит начинать)

scarbo 18.06.2008 02:20

Это имеется ввиду
Код:

_visible = true, _visible = false ??

Котяра 18.06.2008 23:34

Вложений: 1
Цитата:

Сообщение от scarbo (Сообщение 746163)
Это имеется ввиду
Код:

_visible = true, _visible = false ??

Нет))
я имел ввиду видимость вызываемой функции loadClip()
я ведь не знаю из какого контекста был вырван код.
есле код из класса то одно, если из мувклипа то другое. вот, может быть, работающий пример для рута:

Код:

//все в руте:
 
import mx.transitions.Tween;
import mx.transitions.easing.*;
import flash.display.BitmapData;
import flash.geom.*;//импорт нужных классов
play_mc.useHandCursor = false;//отменяем руку на мышаре
_root.loadClip = function(){// хотя,если функция описывается в руте, можно опустить
var my_mcl:MovieClipLoader = new MovieClipLoader();
my_mcl.loadClip("1.jpg", _root.cont_mc); // здесь наверное надо как-то менять урл
}

play_mc.onPress = function(){//начинаем издеваться
        cont_mc.varTween2 = new Tween(cont_mc, "_xscale", Regular.easeOut, cont_mc._xscale, 200, 1, true);
        cont_mc.varTween1 = new Tween(cont_mc, "_yscale", Regular.easeOut, cont_mc._yscale, 200, 1, true);
        cont_mc.varTween = new Tween(cont_mc, "_alpha", Regular.easeOut, cont_mc._alpha, 0, 1, true);
        cont_mc.varTween.onMotionFinished = function() {
                _root.my_mcl.unloadClip("1.jpg", cont_mc);       
_root.loadClip()
};
}

А вообще проще сделать класс делегировать на него все эвенты и управлять счетчиком картинок

Код:

класс Такойта {
..
var счетчик;
var контейнер:MovieClip;

конструктор{
счетчик =0 // ну или чему-там надо
}

функция загрузкиКартинки(счетчик) {

  создать мувклиплоадер;
  назначить (делегировать) обработчик окончания загрузки картики  функции аКогдаКартинкаЗагрузилась;
  мувклиплоадером загрузить в контейнер картинку по адресу счетчик +".jpg". //ну или окуда берется..      лучше из XML
}
..
..
функция аКогдаКартинкаЗагрузилась(клипик) {

  здесь что творим при помощи твинов с аргументом функции (клипик)
  для слежения за окончанием издевательства делегируем функцию аКогдаЧертовыТвиныЗакончились.
}

..
функция аКогдаЧертовыТвиныЗакончились() {

  счетчик++;
  загрузкиКартинки(счетчик);

}

..


}

Пример на Нерусском языку во вложении.. а вообще походу все грузится, просто если грузить в тот же клип. альфа остается нулевой..

scarbo 19.06.2008 09:57

Котяра огромное спасибо,иду разбираться


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

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