Форум 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)
-   -   Можно ли вывести Label зная слой и кадр? (http://www.flasher.ru/forum/showthread.php?t=180610)

dkart01 05.06.2012 18:30

Можно ли вывести Label зная слой и кадр?
 
Здравствуйте, есть ли команда, по которой можно узнать Label кадра, если знаю на каком слое он расположен.
Что-то типа trace(НазваниеМувиклипа.Слойклипа.НомерКадра);

Хочется реализовать скриптик с логикой: если лейбл кадра = Отметка1, то остановить на этом кадре.

udaaff 05.06.2012 18:41

В AS2 нельзя. Можно с помощью ассоциативного массива реализовать задачу. Т.е. получать метку по номеру кадра.
И слои только во Flash IDE существуют.

dkart01 07.06.2012 11:30

Цитата:

Сообщение от udaaff (Сообщение 1083123)
Т.е. получать метку по номеру кадра.

Могли бы в подсказать как?

Hauts 07.06.2012 12:13

Код AS1/AS2:

var frameLabels = {};
frameLabels.my_frame_label_1 = 2; // это значит, что метка "my_frame_label_1" соответствует второму кадру
frameLabels.my_frame_label_2 = 20;
frameLabels.my_frame_label_3 = 52;
frameLabels.my_frame_label_4 = 75;
frameLabels.my_frame_label_5 = 122;

Как-то так. Обращаться можно следующим образом:

Код AS1/AS2:

this.gotoAndStop(frameLabels.my_frame_label_2)

Узнать, соответствует ли текущий кадр метке можно так:
Код AS1/AS2:

trace(this._currentframe == frameLabels.my_frame_label_4)

Узнать, какой метке принадлежит текущий кадр можно так:
Код AS1/AS2:

var curFrame = this._currentframe;
for(var i in frameLabels){
    if(frameLabels[i] == curFrame){
        trace("Текущий кадр соответствует метке " + i);
        break;
    }
}

Добавлено через 4 часа 4 минуты
Ах да. Можно еще и наоборот сделать:

Код AS1/AS2:

var frameLabels = []
frameLabels[2] = "my_frame_label_1" // это значит, что метка "my_frame_label_1" соответствует второму кадру

И т.д.

Но в любом случае каким-либо образом связать метки и номера кадров нужно будет.

dkart01 09.06.2012 11:03

Большое вам спасибо, Hauts, за замечательный и подробно расписанный урок. То, что необходимо!


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

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