Просмотр полной версии : проиграть последовательность кадров
Respect81
16.05.2006, 17:44
Только не пинайте сильно. Английский знаю не настолько, чтобы нормально пользоваться хелпом у флеша. Итак, что нужно:
1. Имеем флеш МХ
2. имеем мультик с линейной анимацией
3. 4 кнопки
4. Необходимость заставить при нажатии на 1 кнопку проигрывать кадрый 1-20, при нажатии кнопки 2 - 21-40 и т.д.
5. Сделать так, чтобы в один момент времени доступна для нажатия была только одна из кнопок (в последовательности)
с уважением...
SINtez_v
16.05.2006, 18:03
1. http://flasher.ru/forum/showthread.php?t=72460
На первом и 20том кадре ставиш Stop
На кнопке в первом кадре пишеш
on (release) {
gotoAndPlay(20);
}
Он играется до 20 и останавливается.
Дильше также.
Respect81
16.05.2006, 18:15
За ссылку спасибо, но реализация какая-то стремная имхо. Я именовал кнопки и участки кадров, а в отдельном слое писал скрипт, а Вы так с плеча... А как в таком случае код для второй кнопки? (20-40) что ли?
За ссылку спасибо, но реализация какая-то стремная имхо. Я именовал кнопки и участки кадров, а в отдельном слое писал скрипт, а Вы так с плеча... А как в таком случае код для второй кнопки? (20-40) что ли?
а что в реализации не нравится?
и что же вы за скрипт писали в отдельном слое?
для первой кнопки, что бы играл первый кусок
on (release) {
gotoAndPlay(2);
}
для второй, что бы играл второй кусок
on (release) {
gotoAndPlay(22);
}
NeZnayKa
16.05.2006, 18:36
ставим stop(); в 20-40-60 и 80 кадры.
рисуем 4 кнопки; btn1, btn2, btn3 и btn4
и на первом кадре пишем код
stop();
var count = 0;
for (var i=1; i<5; i++) {
_root["btn"+i].onRelease = function() {
play();
this._visible = 0;
count++;
_root["btn"+(count+1)]._visible = 1;
};
_root["btn"+(i+1)]._visible = 0;
}
Respect81
16.05.2006, 18:38
Я то н программер, хотя вот прилагаю усилия чтобы врубиться. При такой реализации у нас жестка привязка к кадру раз, непонятно где ставить стоп два, как сделать запрет на другие кнопки - непонятно три. Объект движется слева направо, поэтому нельзя разрешить пользователю проигрывать куски анимации без последовательности и несколько раз.
Упс, еще один вариант, ща попробую
Бармалей
16.05.2006, 18:43
Ну раз есть отдельный слой для кода, тогда лучше так:
инстансИмяКлипа1.onRelease = function(){
this._parent.gotoAndPlay(1);
};
инстансИмяКлипа2.onRelease = function(){
this._parent.gotoAndPlay(20);
};
ну и для остальных двух кнопок в этом же духе.
За отключение клипа отвечает свойство enabled:
инстансИмяКлипа.enabled = false; // отключаем кнопку
инстансИмяКлипа.enabled = true; // включаем кнопку
Бармалей
16.05.2006, 18:46
а для того, чтобы избежать привязки к конкретным кадрам, используй метки кадров в качестве параметров.
Respect81
16.05.2006, 18:48
Не, у незнайки код симпатичней. Спасибо, буду справку читать.
Хотя нет, при таком коде можно нажать сразу на все подряд появляющиеся кнопки, пока проигрывается первый кусок, а когда последняя кнопка исчезнет мультик "застревает"
ну сделай руками поика играет первй кусок 3 кнопки не доступны для нажатия, т.е. не делай их кнопками а просто какинибуть мувиклипами безовсякого кода. когда проигрывается кусок то нормальная кнопка встает на другое место.
on (release) {
gotoAndPlay("f2");
}
где f2 имя арейма на который тебе надо ссылаться
Respect81
16.05.2006, 21:30
Зело фигово со справкой - скачал, 9 метров - менюха есть а текста нет. Абыдна, да.
SINtez_v
16.05.2006, 23:58
Переведи попробуй в юникод текст
Respect81
17.05.2006, 23:47
р-р-р-р, где блин переводить-то его, это ж файл справки. Ни по f3 никак не могу открыть.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.