Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Проблема с level (http://www.flasher.ru/forum/showthread.php?t=63053)

alexander70 15.09.2004 10:03

Проблема с level
 
Привет, братцы! Есть такая проблема или задачка. Предположим на первой сцене главного фильма есть команда на загрузку фильма на уровень1: onFrame (2) {loadMovieNum("11.swf",1);

}

Нужно, чтобы, когда фильм 11.swf полностью загрузится на уровень 1, кнопка b1 на второй сцене главного фильма стала видимой, (по умолчанию она должна быть невидима). То есть видимостью кнопки, должна управлять команда в фильме на уровне 1. Для этого мне посоветовали на фильм 11.swf на уровне 1 поставить команду: _level0.buttonname._visible = True
Команда работает, но с нюансом: если только в фильме содержится только 1 сцена или она находится в той же сцене, что и объект, который должен стать видимым. Можно в этой команде уточнить сцену, на которой находится объект, который должен стать видимым?


И альтернативный путь, нашёл в справочнике по Action script. В том же самом главном фильме на уровне 0 проверить условие, что фильм на уровень 1 загрузился:

onFrame (1) {
_level0.b1._visible=False;
if (eval("_level1")){_level0.b1._visible=True;}
}


Но что-то в этой команде не то, я проверял в оффлайне, убирал из той же папки фильм 11.swf (то-есть он не загружался) , но условие всё-равно срабатывало. Что не так в этой команде? Если кто посоветует, хотя бы по одному из двух вариантов (или идентифицировать в какой сцене объект команды _level0.buttonname._visible = True
Или по условию if (eval("_level1")){_level0.b1._visible=True;} ) , буду благодарен за помощь.



С уважением, Александр

DeliMIter 15.09.2004 11:22

1. Указать сцену - нельзя. Можно управлять только теми объектами, которые есть в ТЕКУЩЕМ КАДРЕ ТЕКУЩЕЙ СЦЕНЫ. Другое дело, что ты можешь поставить какой-ньть флажок, и в том кадре, где кнопка уже лежит, проверять флажок и делать ее видимой.

2. _level0.b1._visible = (_level1.getBytesLoaded() >= _level1.getBytesTotal()) && (_level1 != undefined);

alexander70 15.09.2004 13:27

Спасибо, а какой точный синтаксис команды проверки флажка (например, флажка b1)? Вместо названия кнопки указать название флажка ( _level0.b1._visible = True ) ?

DeliMIter 15.09.2004 13:56

Ну сам подумай, что будет, если ты флажку присвоишь _visible = true? Тебе нужно в зависимости от значения флажка изменить _visible кнопки.

alexander70 15.09.2004 15:51

Хорошо, спасибо, разберусь:)

alexander70 15.09.2004 23:58

Я вставил в фильм команду

onFrame (1) {
_level0.b1._visible=False;
_level0.b1._visible = (_level1.getBytesLoaded() >= _level1.getBytesTotal()) && (_level1 != undefined);
}

но кнопка b1 видна, даже, если уровень1 не загрузился (Я удалил фильм 11.swf из общей папки, т.е. он не загрузился.)


Изменил команду на

onFrame (1) {
_level0.b1._visible=False;
if (_level1.getBytesLoaded() >= _level1.getBytesTotal()) {_level0.b1._visible=True;}
}

но результат тот же, кнопка видна постоянно. В чём ещё может быть проблема?

artfla$her 16.09.2004 03:13

if (_level1.getBytesLoaded() >= _level1.getBytesTotal()) {trace(_level1.getBytesLoaded()+" = "+_level1.getBytesTotal())}

alexander70 16.09.2004 09:14

Цитата:

Оригинал написал(а) artfla$her
if (_level1.getBytesLoaded() >= _level1.getBytesTotal()) {trace(_level1.getBytesLoaded()+" = "+_level1.getBytesTotal())}

Спасибо, а как правильно соединить это условие, чтобы если это условие выполняется, кнопка b1 была видима, : _level0.b1._visible=True; ?

И ещё хочу спросить, какой синтаксис команды, которая должна быть в фильме на уровне 1, для проверки флажка в фильме на уровне 0 ? То есть, я помечу фрейм с кнопкой флажком, а в фильме на уровне 1 должна быть команда на вызов или на изменение этого флажка. Загрузил вас короче:) Если сможете помочь, буду благодарен:)

artfla$her 16.09.2004 14:21

if (_level1.getBytesLoaded() >= _level1.getBytesTotal() && _level1.getBytesLoaded()) {

trace(_level1.getBytesLoaded()+" = "+_level1.getBytesTotal())

}

Это чтобы не равно было undefined-у.

Насчет флажка не понял ничего. Если надо проверить переменную уровня 0, то _level0.<имя переменной>

alexander70 17.09.2004 08:29

Чтобы была понятна моя проблема, я работаю над Flash фотоальбомом. Фотографии должны загружаться в теневом режиме (невидимом) на разные уровни. Пока фотография не загрузилась на уровень, миниатюра (или кнопка показа фотографии) должна быть невидимой. Вообще, я не во Flash ДЕЛАЮ, а в аниматоре SwishMax (http://www.swishzone.com ) Там тоже есть поддержка action script и есть куча встроенных эффектов. Чтобы кнопка вызова фотографии была невидима, пока она не загрузится на уровень 1, я вставил команду:


onFrame (1) {
_level0.b1._visible=False;
if (_level1.getBytesLoaded() >= _level1.getBytesTotal() && _level1.getBytesLoaded()) {

trace(_level1.getBytesLoaded()+" = "+_level1.getBytesTotal())

}
_level0.b1._visible=True;
}


Но почему-то не работает, кнопка постоянно видима, даже когда фильм на уровень 1 не загружен. В чём может быть проблема?

Как подсказал DeliMIter , есть альтернативный вариант: отметить фрейм с кнопкой на уровне 0 флажком, и с загруженного фильма на уровне 1 управлять состоянием этого флажка (метки). Какой точный синтаксис команды для этого?


С уважением, Александр


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

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