Форум 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)
-   -   A script in this movie is causing Adobe Flash Player 9 to run slowly. (http://www.flasher.ru/forum/showthread.php?t=89214)

borzih 10.12.2006 13:01

A script in this movie is causing Adobe Flash Player 9 to run slowly.
 
Сделал Флешку, разместил в HTML страничке, а после 10-20 минут "работы" она вдруг выдает:

Цитата:

A script in this movie is causing Adobe Flash Player 9 to run slowly. If it continues to run, your computer may become unresponsive. Do you want to abort the script? [Yes] [No]
В чем может быть причина? Флэшка, из трех кадров состоит, делает слайд шоу. В первом кадре идет загрузка внешних фотографий, во втором - увеличивается счетчик и показавается одна из фотографий, в третьем - gotoAndPlay(2).

Вот полный код, если требуется:

*********************************
Кадр 1
*********************************

Код:

// Параметры из HTML: url1, url2, ulr3, speed1, speed2

speed1=Number(speed1);
speed2=Number(speed2);

_root.createEmptyMovieClip("mc1", 1);
mc1.loadMovie(url1);

_root.createEmptyMovieClip("mc2", 2);
mc2.loadMovie(url2);

_root.createEmptyMovieClip("mc3", 3);
mc3.loadMovie(url3);

a=0;

*********************************
Кадр 2
*********************************

Код:

// Показываем фото 1
if( a>=0 && a<=99 ) {
    mc1._alpha=100;
    mc2._alpha=0;
    mc3._alpha=0; 
    a+=speed1;
}


// Делаем переход от 1 к 2
if( a>=100 && a<=199 ) {
    mc1._alpha=200-a;
    mc2._alpha=a-100;
    mc3._alpha=0; 
    a+=speed2;
}


// Показываем фото 2
if( a>=200 && a<=299 ) {
    mc1._alpha=0;
    mc2._alpha=100;
    mc3._alpha=0; 
    a+=speed1;
}

// Делаем переход от 2 к 3
if( a>=300 && a<=399 ) {
    mc1._alpha=0;
    mc2._alpha=400-a;
    mc3._alpha=a-300; 
    a+=speed2;
}
 
// Показываем фото 3
if( a>=400 && a<=499 ) {
    mc1._alpha=0;
    mc2._alpha=0;
    mc3._alpha=100; 
    a+=speed1;
}

// Делаем переход от 3 к 1
if( a>=500 && a<=599 ) {
    mc1._alpha=a-500;
    mc2._alpha=0;
    mc3._alpha=600-a; 
    a+=speed2;
}

if(a>=600) a=0;

*********************************
Кадр 3
*********************************

Код:

gotoAndPlay(2);
[iNils: Для оформления своего кода, надо использовать теги [code][/code]]

†‡Paladin‡† 11.12.2006 15:35

Думаю через 10-20 минут работы свободная виртуальная память твоего компьютера заканчивается.

borzih 11.12.2006 19:44

Так собственно в этом и вопрос - откуда берется переполнение памяти??? Разве указанный скрипт ее имеет "дыры", расходующие память?

tonnon 11.12.2006 20:17

ну ты удаляй мувики, которые грузишь

Sylkoga 11.12.2006 20:35

может у тебя гдето зацикливание? у меня так было когда было зацикливание!

borzih 11.12.2006 23:00

Цитата:

ну ты удаляй мувики, которые грузишь
Что-то я не понял... А как их удалить, если они постоянно в работе? Т.е. загружаются они лишь ОДИН раз в первом кадре, а далее циклически чередуются в кадре 2.
Цитата:

может у тебя гдето зацикливание? у меня так было когда было зацикливание!
И где же это зацикливание? Единственное, что "напоминает" зацикливание - это код gotoAndPlay(2) в кадре 3. Может, так делать нельзя???

†‡Paladin‡† 13.12.2006 11:43

Попробуй обойтись без 3х кадрового цикла.
Неуверен, что это поможет, но 3х кадровый цикл это прошлый век.

borzih 13.12.2006 21:32

Цитата:

Сообщение от †‡Paladin‡†
Попробуй обойтись без 3х кадрового цикла.
Неуверен, что это поможет, но 3х кадровый цикл это прошлый век.

А как иначе делается цикл? Нужна часть инициализации (сейчас в кадре 1) и часть тела цикла (сейчас в кадре 2). Это всё можно как-то запихнуть в один кадр?

†‡Paladin‡† 13.12.2006 22:52

Конечно. В начале описываются все необходимые функции и объявляются начальные данные, а затем путем последовательного вызова функций происходит действие. 3х кадровые циклы вымерли еще с 5м флэшем.

borzih 13.12.2006 23:53

Цитата:

Сообщение от †‡Paladin‡†
а затем путем последовательного вызова функций происходит действие.

Ключевые слова для поиска не подскажите? Какими технологиями делается "последовательный вызов функций"?


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

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