Кнопки навигации по временной шкале внутри видеороликов - PullRequest
0 голосов
/ 28 апреля 2011

Во-первых, извинения, если на это ответили в другом месте - поверьте мне, я искал! Я уверен, что это требует невероятно простого решения.

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

Мой план состоит в том, чтобы создать MC для каждой галереи на моем сайте и поместить каждую из них в уникальный фрейм, поэтому основные навигационные панели переходят в фрейм с MC, а затем кнопки MC перемещаются внутри этой галереи. 1005 *

Но кнопки не работают.

Вот код кнопки внутри MC:

on1_btn.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame_5); 

function fl_ClickToGoToAndStopAtFrame_5(event:MouseEvent):void 
{
    gotoAndStop("on1");

}

Примечание: я пометил экземпляры кнопок и кадры одинаково для простоты проверки кода, здесь есть несколько кнопок с одинаковым кодом, за исключением изменения чисел. Я думаю, нет необходимости вставлять их все.

Любая помощь! Если вам нужна дополнительная информация / код, не стесняйтесь спрашивать.

Большое спасибо,

Джейми

1 Ответ

1 голос
/ 28 апреля 2011

Я понял, что ваши кнопки не на главной временной шкале.Существует очень простой способ доступа к основной временной шкале из любого места, используя это:

MovieClip(root).method();

Так что для вас:

MovieClip(root).gotoAndStop(5);

Кроме того, просто для удовольствия - это может быть быстрее и аккуратнееспособ настроить несколько кнопок с помощью действия gotoAndStop вместо множества различных функций:

Дайте названиям кнопок, которые заканчиваются цифрами .. например, goto1, goto6, goto9.Затем просто добавьте их в массив в верхней части этого:

var buttons:Array = ["goto1","goto6","goto9"]; // <--- here

var i:String;
for each(i in buttons)
{
    this[i].addEventListener(MouseEvent.CLICK, goto);
}

function goto(e:MouseEvent):void
{
    var sb:SimpleButton = SimpleButton(e.target);
    var num:uint = uint(sb.name.substr(sb.name.length-1, 1));

    trace(num);
    gotoAndStop(num);
}
...