![]() |
применение одного и того же кода к разным мувикам
Подозреваю, что вопрос не очень сложный, но не смог нормально сформулировать для поиска. Поэтому попытаюсь объяснить здесь, что я хочу:
Есть меню из надписей (кнопок-мувиков). Нужно, чтобы однажды написанный код анимации (например, изменение размера мувика при наведении) автоматически применялся для всех кнопок в списке. Захотел изменить анимацию всех кнопок - поменял этот "исходный код" и каждая кнопочка, соответственно, поменяла свое поведение. Как я понимаю, тут нужна динамическая подмена имени в этом "исходном коде" на имя (instance name) кнопки, на которую в данный момент наведен курсор, но не знаю, как этого добиться. Помогите, плз! :wacko: Добавлено через 1 час 37 минут спасибо, кажется, уже разобрался ) |
могу предложить свой вариант
Код AS1/AS2:
|
у меня похожая проблема
у меня есть 20 кнопок я хочу что бы при наведении на любую из них она увеличивалась на 10% к примеру function ab (bot:MovieClip){ bot._xscale+=10; bot._yscale+=10; } как теперь вызвать функцию именно в момент наведения на кнопку ? |
Немного по-другому:
Код AS1/AS2:
Оформите в посте код тегами AS и не склеивайте операторы, выражения и прочие элементы - код делается неудобочитаемым - и для вас , и для остальных. К тому же быстрее он работать от этого не станет. :) |
Цитата:
|
спасибо, я пока что начинающий и мое представление о ас составляют крупицы познаний с прошлого + то в чем ща разобрался ) поэтому правильность написания кода это воще космос )
я так понял что в вашем коде для кнопок от 1й до 20й (bot1, bot2 ... bot20) будет выполянтья функция аб а если все кнопки лежат в мувиклипе main где поменятьеться путь ? |
Как что делать? Если на люди код не выносите, пишите весь код в одну строчку, где это возможно, как некоторые HTML-параноики :)
Если код на публику выносится, лучше, чтобы он был читаемым. Так больше вероятность получения помощи по вопросу. Тэги, кстати, тоже не для модераторов введены, а для пользователей форума. Например, когда вижу нечто вроде for(i=1;i<10;i++){, и так много строк, сразу разбираться желание пропадает. Добавлено через 46 секунд Цитата:
Код AS1/AS2:
|
Цитата:
Пробел не ставится между унарным оператором и операндом. Бинарные и тернарные операторы нужно отделять пробелами, иначе читается это все просто отвратительно. |
Цитата:
|
Код AS1/AS2:
|
Цитата:
Цитата:
Автоформатирование нужно лишь в том случае, если к вам в руки попадает чужой, плохо оформленный код. |
А вы читали, что написано по вашей ссылке? Эти "чёткие конвенции" - точно такой-же местный стандарт, какие я видел раньше, в данном случае для компонентов отдельно взятого фреймворка. И там во введении сказано, что часть стандартов взята с потолка.
Никакой траты времени? Говоря только о пробелах: сравните размер файла с пробелами и без. Исходя из этого и из максимальной скорости нажатия на пробел (самую неудобную клавишу, между прочим) можно посчитать, сколько именно занимает эта "никакая трата" на то, что можно сделать нажатием одной клавиши. |
Цитата:
Цитата:
И вот, к примеру, вы же расставили в своем посте пробелы после знаков препинания =). Много времени у вас на это ушло? А читается все нормально и не режет глаз =) |
Цитата:
Нажмите Ctrl + Shift + F в окне действий, отформатирует. |
Пожалуйста.
Я не про += говорил. :) А про приклейку цифр главным образом. Добавлено через 1 минуту Цитата:
На все 100 согласен с udaaff - аккуратное написание кода должно получаться само собой, при написании кода. Экономит кучу времени по зрительной навигации в больших массивах строк, полезность этого несоизмерима с затратами на нажатие пробела. К тому же, когда нет пробелов, элементарные конструкции кода превращаются порою в таких монстров, что страшно смотреть. Тогда самому же будет удобнее, например, покопаться в своем же коде годичной давности. С ужасом смотрю сейчас свои строки 2-х летней давности (мои первые работы). |
У меня нормально форматирует, без проблем. Flash CS3.
Два года назад - первые работы? Отличный результат изучения флэша за два года. |
В 9, кажется, изначально баг был с автоформатом. Сейчас, вроде, все нормально.
|
Цитата:
|
У меня баг тоже есть. Причем я заметил некоторые закономерности. В большинстве случаев помагает ставить ";" в конце строк.
|
есть надоработочка
при увеличении кнопки она теряеться за другими попробывал использовать getNextHighestDepth() - не получаеться ( Код AS1/AS2:
|
Это от непонимания того, что делает getNextHighestDepth(). А этот метод просто-напросто выдает инфу о том, какой следующий уровень свободен.
А ставит на нужный уровень уже метод swapDepths() Поэтому сделайте так: Код AS1/AS2:
|
Лучше менять местами текущий мувик с наивысшим. А то так глубины могут закончится, если долго и упорно кликать.
|
udaaff, в моем примере не закончатся :)
Просто поочередно занимается один и тот же найденный свободный обособленный уровень, изначально не занятый. |
не работает (
нужно ли в клипе main добавить еще один слой ? все кнопки в клипе main лежат в одном фрейме на одном слое. Добавлено через 1 минуту Цитата:
|
Вложений: 1
Должно работать. Никаких слоев не нужно добавлять. То, что происходит на _root, никакого отношения не имеет ни к чему, у вас же все в main - и кнопки, и уровень свободный находится и занимается.
Вероятно, что-то делаете не так. См. рабочий пример. PS. Не путайте слои в среде разработки флеша и глубины объектов в готовом swf. |
Цитата:
не могу понять что не так возможно потому что в кнопках битмап и есть анимация |
Не забывайте, что не у всех CS4 стоит.
|
Какая версия у вас ? Если сохранять через сайв эз то можно только CS3 (
Цитата:
Добавлено через 25 минут вродь разобрался проблема в том что к типу "button" это свойство не работает ( |
Кнопки (Класс Button) не используйте - от них одна головная боль.
|
ну я уже это понял ) просто теперь прийдеться все кнопки переделать в мувиклип а потом их сделать с помощью - ас кнопками )
нашел тут пример как по мне не оч понятный ) http://demiart.ru/forum/index.php?showtopic=54011 кстати я так понял там где наш счечик отсчитывает кнопки можно вставить скрипт для того что бы каждый мувиклип превращался в кнопку (соответсвенно подготовив его - вставив 3 кадра), верно ? |
| Часовой пояс GMT +4, время: 16:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.