PDA

Просмотр полной версии : Как увеличить половину/часть кнопки?


Aloneman
11.07.2003, 14:52
Здравствуйте!

У меня новый вопрос: есть кнопка, которая состоит их двух клипов. Мне в последствии нужно увеличить один из клипов, но не получается:

on (rollOver) {
_root.menu.button1.circle._xscale = 140;
_root.menu.button1.circle._yscale = 140;
}


Можно увеличить только кнопку с двумя клипами, но это не нужно:

on (rollOver) {
_root.menu.button1._xscale = 140;
_root.menu.button1._yscale = 140;
}

Можно ли вообще сделать это, увеличить только дин клип в кнопке? Подскажите, что можно придумать...

Dimonius
11.07.2003, 17:04
Не совсем догнал, но если скинешь простой исходничек, думаю проблема быстро решится.

Aloneman
11.07.2003, 18:11
Вот прилепил кусок от кода.
menu.zip

там конструкция с circle - которую и хочу увеличить.
если из скрипта убрать circle то будет увеличиваться вся кнопка. но это не нужно, нужно чтобы увеличивался только кружочек.

Спасибо!

Dimonius
11.07.2003, 18:33
Готово.
Просто вытащи из кнопки мувики, а кнопку сделай невидимой.
Еще все три объекта можно запихнуть в один мувик - я называю это сложной кнопкой.

Aloneman
11.07.2003, 18:42
Монстр! :-) Все работает!!

Спасибо!

Dimonius
11.07.2003, 19:04
Рад был помочь ;)

Pietrovich
11.07.2003, 20:30
или вариант без прозрачной кнопки:

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

Aloneman
14.07.2003, 18:48
а что за hitArea такой можно узнать? в книге по actionScript'у, Flash 5 правда ничего не нашел. Он обязателен, если я захочу к примеру, чтобы клип издавал звук при наведении на него курсором но не кликая на него? И как точно его прописать?

Aloneman
14.07.2003, 18:51
Dimonius, а еще вопрос, если я хочу чтобы не просто кружок увеличился, а плавно вырос, что нужно делать? Заменять этот кружок мувиком, который показывает увеличение? И конечно при отводе курсора также плавно уменьшать его...

Dimonius
14.07.2003, 19:09
Я бы повесил по
OnClipEvent(enterFrame)
код типа for (i=100, i<=200, i++){
this._height = i;
this._width = i;
}
Чего типа этого я конечно много неправильно написал, но смысл в том чтоб програмно увеличивать размеры кружка до определенного момента (у меня здесь 200%). Тоже самое, но уменьшение в обратную сторону.

Aloneman
14.07.2003, 19:20
Да уж, ничего не понял :-) Это уже не через кнопку нужно сделать?? Расскажи пожалуйста!!

Pietrovich
14.07.2003, 19:34
а что за hitArea такой можно узнать? в книге по actionScript'у, Flash 5 правда ничего не нашел. и вряд-ли найдеш... это от МХа... сорри что запутал...
(а вообще, бросай ты 5ку, ставь МХ!)

Aloneman
14.07.2003, 19:44
Да я и поставил MX уже, просто учусь по книге Мука, но как денег наскребу, куплю по МХ книгу какую-нибудь тоже! Так что с hitArea - как ее использовать?? Мне для мувика пригодилось бы - он у меня по экрану ползает, а когда на него курсор заносится, то нужно чтобы он звук издавал. Это через hitArea нужно делать? И как прописывать то?? Научите, плиз!

Aloneman
14.07.2003, 19:46
Dimonius, а можно мне через этот пример с пунктом меню рассказать, как нужно увеличивать? Ну пожалуйстааа! Без Вас мне не вжисть пока такое не сделать самому. :(

+=Metlio=+
14.07.2003, 19:55
Простите, конечно что вмешиваюсь в ваш дискуссию :p , но зачем использовать hitArea чтобы при наведении звук был???
Почему там не

on(rollOver) {
sound.play();
}


Ну или что нить такого типа??? :rolleyes:

Aloneman
14.07.2003, 20:01
а on(rollOver) работает с клипами? тогда видимо все проще :)

+=Metlio=+
14.07.2003, 20:03
Конечно работает! ;)
Делай :)

Pietrovich
15.07.2003, 03:34
но зачем использовать hitArea чтобы при наведении звук был???

ну в данной ситуации вероятно нафиг не нужен...
просто у кнопки есть приятная фича: то, что мы видим не обязательно то, на что кнопка реагирует... для этого и нужен hitArea...

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

З.Ы.: а в целом, имхо конечно, "кнопки маст дай!"... МС+АС рулит и меньше глючит.

+=Metlio=+
15.07.2003, 03:41
2Pietrovich: хммммм... конечно в чем-то ты прав про кнопки, но вот например если использовать Мувиклип как кнопку, то что мне надо что-ли создавать курсор свой с этим в экшене мучиться? Конечно понимаю, что курсор не обязателен в таком деле, но представь что на сайт заходит ламер какой нить :p , он даже не врубится :)
Ну это вроде всё про недостатки, а насчёт hitTest() насколько мне известно чаще его в играх используют флешевских.... :rolleyes:

+=Metlio=+
15.07.2003, 03:43
Ой, не hitTest() а hitArea ну........ожин чёрт :cool:

Aloneman
15.07.2003, 14:37
Помогите мне!

Нужно, чтобы не просто кружок резко увеличился, а плавно вырос? И конечно при отводе курсора также плавно уменьшать его до первоначального размера. Подскажите, как это сделать?

Dimonius
15.07.2003, 14:43
Как я сказал ловишь событие от кнопки и запускаешь функцию.
которая по enterFrame увеличивала(уменьшала) бы твой кружок до нужной величины.

Можешь для этой функции внутри сложной кнопки создать еще один клип-контейнер.

Aloneman
15.07.2003, 16:55
Dimonius, не увеличивается плавно :-(