PDA

Просмотр полной версии : Скрещиваем Button и MovieClip


iNils
25.08.2005, 12:26
Сообствено идея заключается в том чтобы сделать обычный Button с плавной анимацией смены состояния между RollOver и RollOut. Обычно для этого использовался мувиклип с описанием функций наведения мыши.
Данный пример показывает как сделать плавную анимацию не используя RollOver и RollOut, то есть вы можете повесить на них другое действие с возможностью удаления этих функций не ломая при этом функционал кнопки.

Пример является лишь иллюстрацией идеи, поэтому полный функционал в нем отсутствует. Например нет анимации на DOWN.

Король
25.08.2005, 12:34
и зачем это все?

iNils
25.08.2005, 14:32
и зачем это все?
прочитай внимательно еще раз первый пост

gruf
25.08.2005, 17:17
прочитай внимательно еще раз первый пост
А проблема существует? Или просто выложил пример?

Король
25.08.2005, 17:57
"Данный пример показывает как сделать плавную анимацию не используя RollOver и RollOut, то есть вы можете повесить на них другое действие с возможностью удаления этих функций не ломая при этом функционал кнопки"

Это? ну и что? Берем обычный мув. Вписываем в его события RollOver и RollOut вызов своих функций - и удаляем эи функции потом сколько влезет, "не ломая при этом функционал кнопки".

silin
25.08.2005, 18:07
идея затейливая, тока не слишком ли гемору создавать такие кнопки..
по простому тож можно (примерно то, что король сказал):

iNils
25.08.2005, 23:31
Смысл заключается в том, что если вы хотите переназначить действия по роллОвер и остальному, то
есть просто переписав функции, то придется каждый раз указывать действия по анимации. Мой вариант разделяет анимацию и функционал. Таким образом всегда можно сделать так
onRollOver=некаяФункция1
потом
onRollOver=некаяФункция2
не боясь что анимация перестанет работать.
Это решает ряд проблем, вопросы по которым я встречал и здесь и в конференции ruFlash.
Я в принципе не понимаю, почему Король возмущается :)
Не хочет использовать пусть не использует. Кому надо, тому пригодится. Спор тут вообще не уместен.

D12
25.08.2005, 23:50
увы iNils радость была недолгой )))) типичная ошибка)))
попробуй навести на свою кнопку курсор нажать левую кнопку мыши и не отпуская ее отведи мышь в сторону , а теперь вопрос где анимация ))))

ищем по форуму тему " мышь покидает рабочее поле"

а вообще можно и так сделать ))) дело вкуса )))

iNils
26.08.2005, 00:02
увы iNils радость была недолгой )))) типичная ошибка)))
не понимаю злорадства. у обычной кнопки такая же реакция реакция

PS у мувика программно сделаной кнопки кстати тоже

D12
26.08.2005, 00:12
эх ну вот обиды пошли )))
а ведь этого можно избежать )))
подумай как по детски наивно (мож незаметят))))будет смотрется меню сайта вот из таких кнопак )

неспорю тут я несоветчик в сайтах я ноль , я игродел, но всеже все должно
работать безукоризненно .

P.s. сделать это пять минут , а вот протестить на ошибки это пять часов , и пять дней на решение их устранения )))романтика )))

iNils
26.08.2005, 00:17
какие обиды? боже упаси. тут даже не полностью функциональная кнопка, а так ... идея.
вместо того чтобы спорить, лучше бы ее развили, толку было бы больше.

а игры где можно посмотреть?

D12
26.08.2005, 00:58
ну вот обьясни мне чем тебе так ненравится см. пример , работает веть , и без глюка .


P.S. эх ради тебя любая глупасть )))) :rolleyes:

Iv
26.08.2005, 02:36
2iNils: оч приятная идея. Щас тебе насыпють мильён других.
Но это ТВОЯ идея. А это гораздо важнее.
Пасиба.

D12
27.08.2005, 00:37
Да Димон ) ты самый ярки реконструктор велосипеда )))))



-есть просто переписав функции, то придется каждый раз указывать действия по анимации. Мой вариант разделяет анимацию и функционал. Таким образом всегда можно сделать так
onRollOver=некаяФункция1
потом
onRollOver=некаяФункция2-


а не проще ли поставить счетчики(через листен) как в первом моем примере , и вешай сколько душе угодно неких функции )
вообщем не понимаю я ваших неких идей , в моем понимани путь к решению ответа должен быть четким а не тернистым который вообще может никуда не ведет ................

iNils
27.08.2005, 02:59
а не проще ли поставить счетчики(через листен) как в первом моем примере , и вешай сколько душе угодно неких функции )
вообщем не понимаю я ваших неких идей , в моем понимани путь к решению ответа должен быть четким а не тернистым который вообще может никуда не ведет ................
если твой пример является четким ответом...
я вижу полное отсутвие "прозрачности"
я хочу сделать анимацию отдельно от кода, не смешивая их, а значит не путаясь и не имея головной боли. это и есть честкость

Буньков Максим
27.08.2005, 10:27
Ребят вы, по моему спорите о том, что ЖёПа и Палец это разные вешци, но ведь это и есть разные вешци, Бывают случаи можно обойтись и onRollом а бывают случаи где это не уместно, и И кнопочка Инилса тут кстати. Я думаю не нужно отказываться от всех вариантов, а попытаться разрулиться.
С моего взгляда, кнопочка Инилса куда аккуратно оформлена с точи зрения кода.
А с другой стороны, с появлением у мувиков событий кнопок... Нах они не нужны... Но веть нужны... есть члучаи когда нужны. Так что я думаю надо сказать МОЛОДЦА Флаг тебе в руки, а за кнопочку пасибо ;)

iNils
27.08.2005, 11:35
а флаг большой? :)

D12
28.08.2005, 00:49
iNils и Буньков Максим , хорошоооо..................................



нарисуйте мне пример где без вашей чудо кнопки не обойтись ))) и я докажу вам обратное ...................

iNils
28.08.2005, 22:19
нарисуйте мне пример где без вашей чудо кнопки не обойтись ))) и я докажу вам обратное ...................
лет 13 назад мы спокойно обходились без интернета.

доказывать тебе я ничего не собираюсь. хочешь пользуйся, хочешь нет.

ffffff
28.08.2005, 23:04
увы iNils радость была недолгой )))) типичная ошибка)))
попробуй навести на свою кнопку курсор нажать левую кнопку мыши и не отпуская ее отведи мышь в сторону , а теперь вопрос где анимация

помоему в этой ошибке нет ничего страшного...

D12
28.08.2005, 23:11
хорошо iNils вместо
маленькой кучки скрипта (я бы так не смог))))))))))))




on (rollOver) {
}
on (rollOut) {
}


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



P.S. твоя кнопка неспособна на то что она может и без этого ..............

P.S.2. если ты уважаемый друг сможешь все же повесить на свою кнопку три функции при етом не используя хотябы элементарные счетчики и листен (а чем я говорил ранее), то я приклонюсь перед тобой и назову тебя учителем)))))
P.S.3. и не будем говорить сложно о простых вещах ) правда BitSky как там твой портатип на мотиун твин пожевает ))))))))) додуматся же куча скрипта вместо двух кликов ))))) неспорю может такие ребусы и интересны ) хотя кому как ))))

KidsKilla
29.08.2005, 00:01
iNils, имхо и правда велосипед =)
а если нужно неск-ко ф-ций на онРоллОвер, то проще что-то типа:
MovieClip.prototype.addOnRollOver = function(func){
var x = this.onRollOver;
this.onRollOver = function () {
x();
func();
}
}
this.mc.addOnRollOver(function(){
trace(1);
})
this.mc.addOnRollOver(function(){
trace(2);
})
this.mc.addOnRollOver(function(){
trace(3);
})

iNils
29.08.2005, 11:47
По последним двум постам у меня сложилось впечатление что меня не правильно поняли. От сюда весь сыр-бор.
Я не собирался повесить выполнения кучи функций одновременно.
Приведу пример. У вас есть анимированная кнопка-мувиклип (анимация внутри кнопка программная), которая выполняет определенные действия. После череды манипуляция, вам надо сменить действия на кнопке-мувиклипе и тогда вы делаете так:
on.....=customFunc;
Но дело в том что в on..... содержался код для анимации кнопки-мувиклипа, и который вы только что убили. Либо в customFunc надо опять прописывать действия для этого.

Iv
29.08.2005, 13:03
спор действительно несколько странный.
я например считаю, что любая открытая новая возможность,
способ и т.п., вне зависимости от ее текущей востребованности, полезна.
допустим, в данный момент, при данных обстоятельствах, или в данном
варианте реализации эта возможность не так уж и важна.
но исключать обратное - хм... верх самоуверенности.

я даже пример полезности могу привести: тебе дают чужой проект,
где на кнопочных событиях и на методах навешено-понавешено
куча ботвы, в которую даже соваться неохота.
а просят тебя сделать кнопки из обычных анимированными...

да мало ли...

iNils
29.08.2005, 13:52
спор действительно несколько странный.
я например считаю, что любая открытая новая возможность,
способ и т.п., вне зависимости от ее текущей востребованности, полезна.
Я тоже так считаю. Может хватит уже доказывать? Я уже сказал, не нравится, не пользуйтесь. Все просто.
Если кому-то пригодится, я буду рад.

KidsKilla
29.08.2005, 15:12
я не против, как раз наоборот =)
всяко, спасибо за интересное решение =)

Буньков Максим
29.08.2005, 20:34
а сколько было дискуссий. лучшеб нубов учили :), а то силы тратят на споры.

D12
29.08.2005, 22:09
Максим прошу уважительней к новичкам .............. или ты сразу таким родился ??? ))))


хорошо хорошо )))) но мы не привыкли отступать ))))))
дам вам передышку ( А Иван как там шейп твин прграмно , есть идеи )))

P.S. подведу итог по вашей кнопке ))) от перемены сум действий результат не меняется )))))) :o гы-гы-гы :D доказано iNils
P.S.2. а кнопка все равно глючит нажал отвел и .................... )))))

D12
29.08.2005, 22:29
вы извените меня
когдато в старину твоя идея выглядела вот так -

iNils
29.08.2005, 23:07
2 D12:
не выглядела она так:) в твоем последнем примере, когда наводишь то анимация начинается, но стоит отвести мышку и она прекращается. в моей примере она доигрывается до конца.

кнопка не глючит, она так задумана (макромедиа, я об этом уже писал):)

Буньков Максим
30.08.2005, 12:47
Максим прошу уважительней к новичкам .............. или ты сразу таким родился ??? ))))

А я их увОжаю... я даже отвечаю иноггда на одни и теже вопросы :p

zlodey538
01.09.2005, 12:57
к вопросу о кнопках хотел спросить. может кто знает как сделать выплывающее меню. мне нужно чтоб при наведении на кнопку выплывало подменю, именно при наведении а не нажатии. только если там скрипт пишется, в чём я не сомневаюсь, потому как других способов нет, вобщем хотелось бы разобраться что и куда писать, кнопке или мувику присваивать. всё что можете рассказать, то поделитесь, плизз... я флэш недавно начал осваивать, графику всю знаю, а вот с акшеном траблы пока :(