Форум 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)
-   -   Shared Library работает непредсказуемо (http://www.flasher.ru/forum/showthread.php?t=113986)

solo19770701 15.07.2008 20:15

Shared Library работает непредсказуемо
 
Всем доброго времени суток. Есть вопрос. Создаю файл в который закидываю несколько mp3, movieClip и т.д. В нем через Linkage Properties задаю для каждого Export for runtime sharing, пишу в Identifier: имя и в URL: указываю имя файла к примеру shared.swf. Захожу в основной клип, делаю Import - Open External Library перетаскиваю нужные мне клипы в основной клип и в Linkage пишу: Identifier: тож же что и в библиотеке, ставлю галку на Import for runtime sharing, и URL: shared.swf (название файла библиотеки). Оба файла в одной директории. Но вот беда, когда в основном клипе файле пишу
Код:

this.attachMovie("shared_graphics_id", "something", 2);
or
var my_sound:Sound = new Sound();
my_sound.attachSound("logoff_id");
my_sound.start();

реакции НОЛЬ. Индефикатор не работает. НО, если я грубо брошу клип на основную линейку, то при Ctr+ Enter, клип появляется в двойном экземпляре. С музыкой, тоже самой, приатачить не получается, но если просто поместить на основную врем. линейку, то музыка играет. Что не так делаю?:eek:
Я опирался на вот этот пример http://kb.adobe.com/selfservice/view...4767&sliceId=1 , исходник скачал, первый раз он работал, но потом я немножко с ним поработал, и все ничего не помогает.

chingachgoog 15.07.2008 20:47

Прикрепите лучше ваши флашки, чтобы не гадать.

solo19770701 16.07.2008 05:53

to chingachgoog: спасибо что откликнулся. Я нашел ответ. На одном забугорном сайте прочел, что бы все работало надо создать пустой клип в файле с библиотекой и бросить его на временную линейку в основном клипе. После этого все заработало. Почему это происходит, там не обьяснили, но после проведения этого шаманского действа :bb:все заработало. Вобщем вот так вот. Может кому это и поможет.
Но у меня появился другой вопрос. Кто нибудь знает как зациклить 3 функции, setInterval не подходит. Нужно что бы с интервалом в 2000мс повторялись три функции, к примеру functionOne, functinTwo and functionThree а потом все с начала. а?:moder:

Волгоградец 16.07.2008 10:26

Почему setInterval () не подходит? Если так, то тогда и setTimeout () не подойдет. getTimer () остается.

crazyone 16.07.2008 13:22

Цитата:

Почему setInterval () не подходит? Если так, то тогда и setTimeout () не подойдет. getTimer () остается.
Это такой тонкий юмор?

Цитата:

setInterval не подходит
Подходит, конечно же. Подводить просто правильно нужно.
Код:

executeFunction=function(){
farr[fnum]();
fnum=(fnum+1)%farr.length;
}

functionOne=function(){
        trace("One");
}
functionTwo=function(){
        trace("Two");
}
functionThree=function(){
        trace("Three");
}

var farr=new Array(functionOne,functionTwo,functionThree);
var fnum=0;
var loopInt=setInterval(executeFunction,200);


solo19770701 16.07.2008 18:19

to crazyone: Спабибо. :) Я до этого не додумкался. Я пытался интервал в интервал засунуть, а последний интервал привязать к первому немог , поэтому и скзазал что setInterval не подходит. Оказывается, подходит. Мои извинения.:drinks:

Нашел глюк во Флеше, а может и не глюк. Пишу простенькие функции
Код:

functionOne=function():Void
{
        trace("One");
        slide01._alpha = 100;
        slide02._alpha = 0;
        slide03._alpha = 0;
        _root.attachMovie("workShader", "shader01", _root.getNextHighestDepth());
        trace(shader01);

functionTwo=function():Void
{
        trace("Two");
        slide01._alpha = slide03._alpha = 0;
        slide02._alpha = 100;
        _root.attachMovie("workShader", "shader01", _root.getNextHighestDepth());
        tra
}

и пускаю их по кругу. Все работает самогонно. НО, стоит только добавить флаш компонент, к примеру кнопу. То флеш сходит сума. shader01 вместо того что бы появлятся один раз и исчезать (в нутри этого клипа я поставил removeMovieClip(this) в конце), начинает появлятся и исчезать, и с каждым новым кругом это увеличивается в два раза. Удаляю компоненты, и все нормально. Мне кажется, каким то образом компоненты имеют свой собственный счетчик (что то типа onEnterFrame), и он каким то образом перекрывается с setInterval. Кание нибудь идеи.


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

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