![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Jan 2007
Сообщений: 50
|
Доброе утро (день, вечер, ночь, нужное выделить мышкой), знатоки flash!
Обращается к вам новичок за советом по Action Script: В ходе выполнения проекта происходит обработка следующего кода (код выполняется внутри цикла, где-то загодя определяется переменная i, предыстория, по сути, не важна): //...
_root.createEmptyMovieClip("btn"+i, i);
var b = _root["btn"+i];
b._x = 300;
b._y = 180;
b.attachMovie("back", "back", this.getNextHighestDepth());
//...
//Далее идет обработка других данных, чуть позднее устанавлявается ширина кнопки:
b.back._width = b.tf._width+20;
Теперь по символу кнопки - это обыкновенный клип типа "кнопка", у которого определены состояния up, down и over. Мне надо, чтобы все эти состояния работали, и при использовании кнопки способом, указанным выше (когда ее прикрепляют с использованием attachMovie (или тут должна быть какая-то другая функция?)) Однако сейчас работает только одно состояние - up (кнопка находится все время в этом состоянии и его не меняет) Интересен факт, что когда эту же самую кнопку прикрепляешь в любое место непрограммным путем (а путем перетаскивания иконки в соответствующий клип из библиотеки) - кнопка ведет себя так, как задуманно Подскажите, где я ошиблась, товарищи - а то у меня ступор... |
|
|||||
|
не
а и непонятно где функции реакции на нажатие кнопки
__________________
"We Are The Champions My Friends!" Queen |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 50
|
Цитата:
Пыталась также навешивать обработчики непосредственно на кнопку: mc.onRollOut =function()
{
this.gotoAddStop("up");
};
mc.onRollOver=function()
{
this.gotoAddStop("over");
};
mc.onPress=function()
{
this.gotoAddStop("down");
};
Только тут меня терзали сомнения, зачем я это делаю, вроде ж эти события уже определены внутри самой кнопки (или я что-то неправильно понимаю, я флеш изучаю четвертый день). А поскольку данная вставка не дала результатов, это место я закомментировала. Последний раз редактировалось taifa; 15.01.2007 в 11:59. |
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
|
|
|||||
|
Регистрация: Jan 2007
Сообщений: 50
|
прикрепила вырезки из исходника, касаемые непосредственно этих мест.
Здесь я пыталась сделать меню, генерируемое по данным из html (поэтому для открытия и просмотра флешки надо использовать html-файл, прикрепленный к архиву) на дизайн и визуальное представление всего этого месива не смотрите - это все тестовые примеры. Мне сейчас главное разобраться, как это делать. Проблеммное место - Actions в клипе menu - надо искать внутри цикла. Последний раз редактировалось taifa; 15.01.2007 в 12:01. |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 50
|
внесла следующее исправление:
b.onRollOut =function()
{
back.gotoAddStop("up");
};
b.onRollOver=function()
{
back.gotoAddStop("over");
};
b.onPress = function()
{
getURL(this.link, "_self");
back.gotoAddStop("down");
};
Если просто так конвертировать - получается, что с самого начала (вне зависимости от события) проигрываются все кадры по кругу. Смотрится ужасающе и рябит в глазах. Последний раз редактировалось taifa; 15.01.2007 в 12:28. |
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
вот правильный код на кнопки в последнем исходнике.
b.onRollOut =function()
{
this.back.gotoAndStop("up");
};
b.onRollOver=function()
{
this.back.gotoAndStop("over");
};
b.onPress = function()
{
getURL(this.link, "_self");
back.gotoAddStop("down");
};
и this.back вместо back плюс в первом кадре символа back в библиотеке пишешь и все шоколадно. |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 50
|
Ну у меня и невнимательность... Извечная проблема.
2Kikasso: Спасибо большое. Заработало.Только есть один вопрос в догонку: если на действие надо прикрепить нексколько кадров (чтобы они были воспроизведены и далее клип вернулся к исходному состоянию (метка up)), как я должна поступить? Последний раз редактировалось taifa; 15.01.2007 в 12:53. |
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
это сложнее. на действие всмысле на клик?
|
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
давай поступим так:
b.onPress = function()
{
this.back.gotoAndStop("down");
};
b.onRelease = function()
{
getURL(this.link, "_self");
this.back.gotoAndPlay("release");
};
добавляешь метку "release", после нее анимация, в последнем кадре анимации Насчет внимательности - у меня та же проблема, ключи на шею вешаю чтобы не потерять )) Поздравляю с прибытием! Последний раз редактировалось Kikasso; 15.01.2007 в 13:11. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:45. |
|
|
« Предыдущая тема | Следующая тема » |
|
|